diff --git a/assets/graphics/enemies/slime_purple.png b/assets/graphics/enemies/slime_purple.png new file mode 100644 index 0000000..76f564e Binary files /dev/null and b/assets/graphics/enemies/slime_purple.png differ diff --git a/assets/graphics/enemies/slime_purple.png.import b/assets/graphics/enemies/slime_purple.png.import new file mode 100644 index 0000000..8af3fc4 --- /dev/null +++ b/assets/graphics/enemies/slime_purple.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ct2w85dun0kjq" +path="res://.godot/imported/slime_purple.png-7c7bd1452ab1f0d8805110e20459acf6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/enemies/slime_purple.png" +dest_files=["res://.godot/imported/slime_purple.png-7c7bd1452ab1f0d8805110e20459acf6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/graphics/objects/pixil-frame-0(1).png b/assets/graphics/objects/pixil-frame-0(1).png new file mode 100644 index 0000000..af18194 Binary files /dev/null and b/assets/graphics/objects/pixil-frame-0(1).png differ diff --git a/assets/graphics/objects/pixil-frame-0(1).png.import b/assets/graphics/objects/pixil-frame-0(1).png.import new file mode 100644 index 0000000..f6dc390 --- /dev/null +++ b/assets/graphics/objects/pixil-frame-0(1).png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bh7617xfi2ahm" +path="res://.godot/imported/pixil-frame-0(1).png-bd8c9957fd4face8d5c8ded9fb303536.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/objects/pixil-frame-0(1).png" +dest_files=["res://.godot/imported/pixil-frame-0(1).png-bd8c9957fd4face8d5c8ded9fb303536.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 061b053..31b1f4e 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,10 @@ run/main_scene="uid://btxq5hrirovod" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg" +[autoload] + +gameController="*uid://jsnpm50wknk2" + [display] window/size/viewport_width=480 diff --git a/scene/cube.tscn b/scene/cube.tscn index ae3b104..82be0ca 100644 --- a/scene/cube.tscn +++ b/scene/cube.tscn @@ -2,6 +2,7 @@ [ext_resource type="Script" uid="uid://bsqvllp6h53jr" path="res://scripts/cube.gd" id="1_jbd7x"] [ext_resource type="Texture2D" uid="uid://cpjqgpeoi58u7" path="res://assets/graphics/objects/pixil-frame-0.png" id="2_pw53m"] +[ext_resource type="Texture2D" uid="uid://bh7617xfi2ahm" path="res://assets/graphics/objects/pixil-frame-0(1).png" id="3_leuu7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_7j3e2"] size = Vector2(54, 55) @@ -24,3 +25,9 @@ texture_filter = 1 position = Vector2(17.000002, 17.5) scale = Vector2(1.35, 1.375) texture = ExtResource("2_pw53m") + +[node name="PixilFrame0(1)" type="Sprite2D" parent="." unique_id=1662173842] +texture_filter = 1 +position = Vector2(17.000002, 17.5) +scale = Vector2(1.3000002, 1.3250002) +texture = ExtResource("3_leuu7") diff --git a/scene/game.tscn b/scene/game.tscn index 478d04f..456d862 100644 --- a/scene/game.tscn +++ b/scene/game.tscn @@ -1,15 +1,15 @@ [gd_scene format=4 uid="uid://btxq5hrirovod"] -[ext_resource type="Script" uid="uid://jsnpm50wknk2" path="res://scripts/game.gd" id="1_qpk70"] [ext_resource type="Script" uid="uid://cxlpex21vgnla" path="res://scripts/scenemanager.gd" id="2_ll5lq"] [ext_resource type="Script" uid="uid://cebn6t5n1cwib" path="res://scripts/platform.gd" id="3_17rxn"] [ext_resource type="Script" uid="uid://cdxh14mtlvhl6" path="res://scripts/trigger_circle.gd" id="4_yq8tf"] [ext_resource type="PackedScene" uid="uid://d0wbtenf13iol" path="res://scene/cube.tscn" id="5_ym5sv"] [ext_resource type="PackedScene" uid="uid://d4nnj62h6fjcq" path="res://scene/character_body_2d.tscn" id="6_sng2h"] +[ext_resource type="PackedScene" uid="uid://ctfxiipsy88op" path="res://slimy.tscn" id="7_ll5lq"] [ext_resource type="Texture2D" uid="uid://cmp7cdbeppphh" path="res://assets/graphics/Enviromentsf/Terrain (32x32).png" id="7_qpk70"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_mwb40"] -size = Vector2(385.1665, 55.118347) +size = Vector2(385.1665, 68.55917) [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mwb40"] @@ -22,12 +22,14 @@ texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/terrain_set = 0 0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 0:0/0/terrains_peering_bit/right_side = 0 0:0/0/terrains_peering_bit/bottom_right_corner = 0 0:0/0/terrains_peering_bit/bottom_side = 0 1:0/0 = 0 1:0/0/terrain_set = 0 1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 1:0/0/terrains_peering_bit/right_side = 0 1:0/0/terrains_peering_bit/bottom_right_corner = 0 1:0/0/terrains_peering_bit/bottom_side = 0 @@ -36,6 +38,7 @@ texture_region_size = Vector2i(32, 32) 2:0/0 = 0 2:0/0/terrain_set = 0 2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 2:0/0/terrains_peering_bit/bottom_side = 0 2:0/0/terrains_peering_bit/bottom_left_corner = 0 2:0/0/terrains_peering_bit/left_side = 0 @@ -106,6 +109,7 @@ texture_region_size = Vector2i(32, 32) 0:1/0 = 0 0:1/0/terrain_set = 0 0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 0:1/0/terrains_peering_bit/right_side = 0 0:1/0/terrains_peering_bit/bottom_right_corner = 0 0:1/0/terrains_peering_bit/bottom_side = 0 @@ -115,6 +119,7 @@ texture_region_size = Vector2i(32, 32) 2:1/0 = 0 2:1/0/terrain_set = 0 2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 2:1/0/terrains_peering_bit/bottom_side = 0 2:1/0/terrains_peering_bit/bottom_left_corner = 0 2:1/0/terrains_peering_bit/left_side = 0 @@ -123,6 +128,7 @@ texture_region_size = Vector2i(32, 32) 4:1/0 = 0 4:1/0/terrain_set = 0 4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 4:1/0/terrains_peering_bit/bottom_side = 0 4:1/0/terrains_peering_bit/top_side = 0 6:1/0 = 0 @@ -199,12 +205,14 @@ texture_region_size = Vector2i(32, 32) 0:2/0 = 0 0:2/0/terrain_set = 0 0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 0:2/0/terrains_peering_bit/right_side = 0 0:2/0/terrains_peering_bit/top_side = 0 0:2/0/terrains_peering_bit/top_right_corner = 0 1:2/0 = 0 1:2/0/terrain_set = 0 1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 1:2/0/terrains_peering_bit/right_side = 0 1:2/0/terrains_peering_bit/left_side = 0 1:2/0/terrains_peering_bit/top_left_corner = 0 @@ -213,16 +221,19 @@ texture_region_size = Vector2i(32, 32) 2:2/0 = 0 2:2/0/terrain_set = 0 2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 2:2/0/terrains_peering_bit/left_side = 0 2:2/0/terrains_peering_bit/top_left_corner = 0 2:2/0/terrains_peering_bit/top_side = 0 4:2/0 = 0 4:2/0/terrain_set = 0 4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 4:2/0/terrains_peering_bit/top_side = 0 6:3/0 = 0 6:3/0/terrain_set = 0 6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) 6:3/0/terrains_peering_bit/right_side = 0 6:3/0/terrains_peering_bit/bottom_side = 0 6:3/0/terrains_peering_bit/top_side = 0 @@ -230,6 +241,7 @@ texture_region_size = Vector2i(32, 32) 7:3/0 = 0 7:3/0/terrain_set = 0 7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) 7:3/0/terrains_peering_bit/bottom_side = 0 7:3/0/terrains_peering_bit/left_side = 0 7:3/0/terrains_peering_bit/top_left_corner = 0 @@ -237,46 +249,56 @@ texture_region_size = Vector2i(32, 32) 9:3/0 = 0 9:3/0/terrain_set = 0 9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) 9:3/0/terrains_peering_bit/bottom_side = 0 9:3/0/terrains_peering_bit/bottom_left_corner = 0 9:3/0/terrains_peering_bit/left_side = 0 10:3/0 = 0 10:3/0/terrain_set = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) 10:3/0/terrains_peering_bit/bottom_right_corner = 0 10:3/0/terrains_peering_bit/bottom_side = 0 12:3/0 = 0 13:3/0 = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) 15:3/0 = 0 15:3/0/terrain_set = 0 15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 15:3/0/terrains_peering_bit/right_side = 0 15:3/0/terrains_peering_bit/bottom_right_corner = 0 15:3/0/terrains_peering_bit/bottom_side = 0 16:3/0 = 0 16:3/0/terrain_set = 0 16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 16:3/0/terrains_peering_bit/bottom_side = 0 16:3/0/terrains_peering_bit/bottom_left_corner = 0 16:3/0/terrains_peering_bit/left_side = 0 0:4/0 = 0 0:4/0/terrain_set = 0 0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 0:4/0/terrains_peering_bit/right_side = 0 1:4/0 = 0 1:4/0/terrain_set = 0 1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 1:4/0/terrains_peering_bit/right_side = 0 1:4/0/terrains_peering_bit/left_side = 0 2:4/0 = 0 2:4/0/terrain_set = 0 2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 2:4/0/terrains_peering_bit/left_side = 0 4:4/0 = 0 4:4/0/terrain_set = 0 4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:4/0 = 0 6:4/0/terrain_set = 0 6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) 6:4/0/terrains_peering_bit/right_side = 0 6:4/0/terrains_peering_bit/bottom_right_corner = 0 6:4/0/terrains_peering_bit/bottom_side = 0 @@ -284,6 +306,7 @@ texture_region_size = Vector2i(32, 32) 7:4/0 = 0 7:4/0/terrain_set = 0 7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) 7:4/0/terrains_peering_bit/bottom_side = 0 7:4/0/terrains_peering_bit/bottom_left_corner = 0 7:4/0/terrains_peering_bit/left_side = 0 @@ -291,11 +314,13 @@ texture_region_size = Vector2i(32, 32) 9:4/0 = 0 9:4/0/terrain_set = 0 9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) 9:4/0/terrains_peering_bit/right_side = 0 9:4/0/terrains_peering_bit/top_left_corner = 0 9:4/0/terrains_peering_bit/top_side = 0 10:4/0 = 0 10:4/0/terrain_set = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) 10:4/0/terrains_peering_bit/left_side = 0 10:4/0/terrains_peering_bit/top_side = 0 10:4/0/terrains_peering_bit/top_right_corner = 0 @@ -309,11 +334,13 @@ texture_region_size = Vector2i(32, 32) 15:4/0 = 0 15:4/0/terrain_set = 0 15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 15:4/0/terrains_peering_bit/right_side = 0 15:4/0/terrains_peering_bit/top_side = 0 16:4/0 = 0 16:4/0/terrain_set = 0 16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 16:4/0/terrains_peering_bit/left_side = 0 16:4/0/terrains_peering_bit/top_side = 0 @@ -326,7 +353,6 @@ terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) sources/0 = SubResource("TileSetAtlasSource_ll5lq") [node name="Game" type="Node2D" unique_id=1249397989] -script = ExtResource("1_qpk70") [node name="SceneManager" type="Node2D" parent="." unique_id=1165789663] unique_name_in_owner = true @@ -339,11 +365,11 @@ position = Vector2(421, 536.99994) script = ExtResource("3_17rxn") [node name="CollisionShape2D" type="CollisionShape2D" parent="platform" unique_id=469432658] -position = Vector2(-37.416748, -25.440765) +position = Vector2(-708, -79.72034) shape = SubResource("RectangleShape2D_mwb40") [node name="left wall" type="StaticBody2D" parent="." unique_id=1287017623] -position = Vector2(749.99994, 381.00003) +position = Vector2(1166, 111.00003) rotation = 2.5344458 script = ExtResource("3_17rxn") metadata/_edit_group_ = true @@ -391,24 +417,29 @@ shape = SubResource("CircleShape2D_e2o6t") position = Vector2(226, 231) [node name="cube" parent="cube container" unique_id=1851497894 instance=ExtResource("5_ym5sv")] -position = Vector2(429.00003, 372) +position = Vector2(70.00003, -91.00001) scale = Vector2(0.97196096, 1.0195743) [node name="cube2" parent="cube container" unique_id=1345370216 instance=ExtResource("5_ym5sv")] -position = Vector2(496.00012, -234.00003) +position = Vector2(467, -106.00002) scale = Vector2(0.97196096, 1.0195743) [node name="cube3" parent="cube container" unique_id=321996969 instance=ExtResource("5_ym5sv")] -position = Vector2(353, -237.99998) +position = Vector2(250.00002, -80) scale = Vector2(0.97196096, 1.0195743) [node name="CharacterBody2D" parent="." unique_id=44928680 instance=ExtResource("6_sng2h")] -position = Vector2(337, 11) +position = Vector2(398, 51) [node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1238523064] position = Vector2(1, 0) -tile_map_data = PackedByteArray("AAAHAA8AAAAEAAAAAAAHABAAAAAEAAEAAAAIAA8AAAAEAAAAAAAIABAAAAAEAAEAAAAJAA8AAAAEAAAAAAAJABAAAAAEAAEAAAAKAA8AAAAEAAAAAAAKABAAAAAEAAEAAAALAA8AAAAEAAAAAAALABAAAAAEAAEAAAAMAA8AAAAEAAAAAAAMABAAAAAEAAEAAAANAA8AAAAEAAAAAAANABAAAAAEAAEAAAAOAA8AAAAEAAAAAAAOABAAAAAEAAEAAAAPAA8AAAAEAAAAAAAPABAAAAAEAAEAAAAQAA8AAAAEAAAAAAAQABAAAAAEAAEAAAARAA8AAAAEAAAAAAARABAAAAAEAAEAAAAGAA8AAAAEAAAAAAAGABAAAAAEAAEAAAATAA8AAAAEAAQAAAATAA4AAAAAAAQAAAAUAA4AAAACAAQAAAAUAA0AAAAAAAQAAAAVAA0AAAACAAQAAAAVAAwAAAAAAAQAAAAWAAwAAAABAAQAAAAXAAwAAAACAAQAAAAXAAsAAAAAAAQAAAAYAAsAAAABAAQAAAAZAAsAAAACAAQAAAAZAAoAAAAAAAQAAAAaAAoAAAACAAQAAAAaAAkAAAAAAAQAAAAbAAkAAAAQAAQAAAAbAAgAAAAEAAAAAAAcAAgAAAAEAAQAAAAcAAkAAAAEAAQAAAAaAAgAAAAEAAQAAAAZAAkAAAAEAAQAAAAYAAoAAAAEAAQAAAAWAAsAAAAEAAQAAAATAA0AAAAEAAQAAAASAA4AAAAEAAQAAAAVAA4AAAAEAAQAAAAWAA0AAAAEAAQAAAAXAAoAAAAEAAQAAAAYAAwAAAAEAAQAAAA=") +tile_map_data = PackedByteArray("AAAFAAoAAAAAAAAAAAAFAAsAAAAAAAEAAAAFAAwAAAAAAAIAAAAGAAoAAAABAAAAAAAGAAsAAAABAAEAAAAGAAwAAAABAAIAAAAHAAoAAAACAAAAAAAHAAsAAAACAAEAAAAHAAwAAAACAAIAAAAIAAoAAAAAAAAAAAAIAAsAAAAAAAEAAAAIAAwAAAAAAAIAAAAJAAoAAAABAAAAAAAJAAsAAAABAAEAAAAJAAwAAAABAAIAAAAKAAoAAAACAAAAAAAKAAsAAAACAAEAAAAKAAwAAAACAAIAAAALAAoAAAAAAAAAAAALAAsAAAAAAAEAAAALAAwAAAAAAAIAAAAMAAoAAAABAAAAAAAMAAsAAAABAAEAAAAMAAwAAAABAAIAAAANAAoAAAACAAAAAAANAAsAAAACAAEAAAANAAwAAAACAAIAAAAOAAoAAAAAAAAAAAAOAAsAAAAAAAEAAAAOAAwAAAAAAAIAAAAPAAoAAAABAAAAAAAPAAsAAAABAAEAAAAPAAwAAAABAAIAAAAQAAoAAAACAAAAAAAQAAsAAAACAAEAAAAQAAwAAAACAAIAAAARAAoAAAAAAAAAAAARAAsAAAAAAAEAAAARAAwAAAAAAAIAAAASAAoAAAABAAAAAAASAAsAAAABAAEAAAASAAwAAAABAAIAAAATAAoAAAACAAAAAAATAAsAAAACAAEAAAATAAwAAAACAAIAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAEAAAAUAAwAAAAAAAIAAAAVAAoAAAABAAAAAAAVAAsAAAABAAEAAAAVAAwAAAABAAIAAAAWAAoAAAACAAAAAAAWAAsAAAACAAEAAAAWAAwAAAACAAIAAAAXAAoAAAAAAAAAAAAXAAsAAAAAAAEAAAAXAAwAAAAAAAIAAAAYAAoAAAABAAAAAAAYAAsAAAABAAEAAAAYAAwAAAABAAIAAAAZAAoAAAACAAAAAAAZAAsAAAACAAEAAAAZAAwAAAACAAIAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAEAAAAIAAgAAAAAAAIAAAAJAAcAAAABAAEAAAAKAAcAAAABAAEAAAALAAcAAAABAAEAAAAMAAcAAAABAAEAAAANAAcAAAABAAEAAAAOAAcAAAABAAEAAAAPAAcAAAABAAEAAAAQAAcAAAABAAEAAAARAAcAAAABAAEAAAASAAcAAAABAAEAAAATAAcAAAABAAEAAAAUAAcAAAABAAEAAAAVAAcAAAABAAEAAAAWAAcAAAABAAEAAAAXAAcAAAABAAEAAAAJAAgAAAABAAIAAAAKAAgAAAABAAIAAAALAAgAAAABAAIAAAAMAAgAAAABAAIAAAANAAgAAAABAAIAAAAOAAgAAAABAAIAAAAPAAgAAAABAAIAAAAQAAgAAAABAAIAAAARAAgAAAABAAIAAAASAAgAAAABAAIAAAATAAgAAAABAAIAAAAUAAgAAAABAAIAAAAVAAgAAAABAAIAAAAWAAgAAAABAAIAAAAXAAgAAAABAAIAAAAJAAYAAAABAAAAAAAKAAYAAAABAAAAAAALAAYAAAABAAAAAAAMAAYAAAABAAAAAAANAAYAAAABAAAAAAAOAAYAAAABAAAAAAAPAAYAAAABAAAAAAAQAAYAAAABAAAAAAARAAYAAAABAAAAAAASAAYAAAABAAAAAAATAAYAAAABAAAAAAAUAAYAAAABAAAAAAAVAAYAAAABAAAAAAAWAAYAAAABAAAAAAAXAAYAAAABAAAAAAAYAAYAAAACAAAAAAAYAAcAAAACAAEAAAAYAAgAAAACAAIAAAA=") tile_set = SubResource("TileSet_17rxn") +[node name="enemies" type="Node2D" parent="." unique_id=626081473] + +[node name="slimy" parent="enemies" unique_id=1550071708 instance=ExtResource("7_ll5lq")] +position = Vector2(384, 164) + [connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"] [connection signal="triggerActiveSignal" from="Area2D" to="." method="on_trigger"] diff --git a/scene/level2.tscn b/scene/level2.tscn new file mode 100644 index 0000000..c7533f2 --- /dev/null +++ b/scene/level2.tscn @@ -0,0 +1,439 @@ +[gd_scene format=4 uid="uid://cniita4lh1wkv"] + +[ext_resource type="Script" uid="uid://cxlpex21vgnla" path="res://scripts/scenemanager.gd" id="1_lnfv4"] +[ext_resource type="Script" uid="uid://cebn6t5n1cwib" path="res://scripts/platform.gd" id="2_lnov8"] +[ext_resource type="Script" uid="uid://cdxh14mtlvhl6" path="res://scripts/trigger_circle.gd" id="3_kj7ci"] +[ext_resource type="PackedScene" uid="uid://d0wbtenf13iol" path="res://scene/cube.tscn" id="4_yilmc"] +[ext_resource type="PackedScene" uid="uid://d4nnj62h6fjcq" path="res://scene/character_body_2d.tscn" id="5_epjhv"] +[ext_resource type="Texture2D" uid="uid://cmp7cdbeppphh" path="res://assets/graphics/Enviromentsf/Terrain (32x32).png" id="6_vwck2"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_mwb40"] +size = Vector2(385.1665, 68.55917) + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mwb40"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_e2o6t"] +radius = 153.83757 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ll5lq"] +texture = ExtResource("6_vwck2") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 +7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 +9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 +10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 +12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/right_side = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 +13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/left_side = 0 +13:0/0/terrains_peering_bit/top_side = 0 +15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/left_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 +1:1/0 = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 +7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 +9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 +10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 +12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 +13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/right_side = 0 +13:1/0/terrains_peering_bit/bottom_right_corner = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 +15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/left_side = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 +16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/right_side = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:2/0/terrains_peering_bit/top_side = 0 +6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/bottom_side = 0 +6:3/0/terrains_peering_bit/top_side = 0 +6:3/0/terrains_peering_bit/top_right_corner = 0 +7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_left_corner = 0 +7:3/0/terrains_peering_bit/top_side = 0 +9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +9:3/0/terrains_peering_bit/bottom_side = 0 +9:3/0/terrains_peering_bit/bottom_left_corner = 0 +9:3/0/terrains_peering_bit/left_side = 0 +10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +10:3/0/terrains_peering_bit/bottom_right_corner = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +12:3/0 = 0 +13:3/0 = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +15:3/0 = 0 +15:3/0/terrain_set = 0 +15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:3/0/terrains_peering_bit/right_side = 0 +15:3/0/terrains_peering_bit/bottom_right_corner = 0 +15:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0 = 0 +16:3/0/terrain_set = 0 +16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0/terrains_peering_bit/bottom_left_corner = 0 +16:3/0/terrains_peering_bit/left_side = 0 +0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0/terrains_peering_bit/right_side = 0 +1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 +2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0/terrains_peering_bit/left_side = 0 +4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:4/0 = 0 +6:4/0/terrain_set = 0 +6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) +6:4/0/terrains_peering_bit/right_side = 0 +6:4/0/terrains_peering_bit/bottom_right_corner = 0 +6:4/0/terrains_peering_bit/bottom_side = 0 +6:4/0/terrains_peering_bit/top_side = 0 +7:4/0 = 0 +7:4/0/terrain_set = 0 +7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) +7:4/0/terrains_peering_bit/bottom_side = 0 +7:4/0/terrains_peering_bit/bottom_left_corner = 0 +7:4/0/terrains_peering_bit/left_side = 0 +7:4/0/terrains_peering_bit/top_side = 0 +9:4/0 = 0 +9:4/0/terrain_set = 0 +9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) +9:4/0/terrains_peering_bit/right_side = 0 +9:4/0/terrains_peering_bit/top_left_corner = 0 +9:4/0/terrains_peering_bit/top_side = 0 +10:4/0 = 0 +10:4/0/terrain_set = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) +10:4/0/terrains_peering_bit/left_side = 0 +10:4/0/terrains_peering_bit/top_side = 0 +10:4/0/terrains_peering_bit/top_right_corner = 0 +12:4/0 = 0 +12:4/0/terrain_set = 0 +12:4/0/terrain = 0 +12:4/0/terrains_peering_bit/right_side = 0 +12:4/0/terrains_peering_bit/left_side = 0 +12:4/0/terrains_peering_bit/top_side = 0 +13:4/0 = 0 +15:4/0 = 0 +15:4/0/terrain_set = 0 +15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:4/0/terrains_peering_bit/right_side = 0 +15:4/0/terrains_peering_bit/top_side = 0 +16:4/0 = 0 +16:4/0/terrain_set = 0 +16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 + +[sub_resource type="TileSet" id="TileSet_17rxn"] +tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "leafy dirt" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +sources/0 = SubResource("TileSetAtlasSource_ll5lq") + +[node name="Game" type="Node2D" unique_id=1249397989] + +[node name="SceneManager" type="Node2D" parent="." unique_id=1165789663] +unique_name_in_owner = true +position = Vector2(661, 24) +scale = Vector2(0.97016877, 1.0195743) +script = ExtResource("1_lnfv4") + +[node name="platform" type="StaticBody2D" parent="." unique_id=817692358] +position = Vector2(421, 536.99994) +script = ExtResource("2_lnov8") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform" unique_id=469432658] +position = Vector2(-708, -79.72034) +shape = SubResource("RectangleShape2D_mwb40") + +[node name="left wall" type="StaticBody2D" parent="." unique_id=1287017623] +position = Vector2(1166, 111.00003) +rotation = 2.5344458 +script = ExtResource("2_lnov8") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="left wall" unique_id=1720529410] +shape = SubResource("RectangleShape2D_mwb40") + +[node name="right wall" type="StaticBody2D" parent="." unique_id=820553779] +position = Vector2(-483, 92) +rotation = -1.6017642 +script = ExtResource("2_lnov8") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="right wall" unique_id=22403495] +shape = SubResource("RectangleShape2D_mwb40") + +[node name="conveyor" type="StaticBody2D" parent="." unique_id=1750621226] +position = Vector2(261.99988, 492.00006) +rotation = -1.5922282 +scale = Vector2(0.86305076, 3.6811934) +constant_linear_velocity = Vector2(250, 0) + +[node name="wall left" type="CollisionShape2D" parent="conveyor" unique_id=482160421] +position = Vector2(406.85486, -406.34064) +rotation = 1.6034058 +scale = Vector2(0.9552965, 0.99587345) +shape = SubResource("RectangleShape2D_mwb40") + +[node name="world border" type="StaticBody2D" parent="." unique_id=920368740] +position = Vector2(563, 988) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="world border" unique_id=1075301728] +shape = SubResource("WorldBoundaryShape2D_mwb40") + +[node name="Area2D" type="Area2D" parent="." unique_id=733267557] +position = Vector2(945, 535) +script = ExtResource("3_kj7ci") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=762446279] +shape = SubResource("CircleShape2D_e2o6t") + +[node name="cube container" type="Node2D" parent="." unique_id=22976120] +position = Vector2(226, 231) + +[node name="cube" parent="cube container" unique_id=1851497894 instance=ExtResource("4_yilmc")] +position = Vector2(429.00003, 372) +scale = Vector2(0.97196096, 1.0195743) + +[node name="cube2" parent="cube container" unique_id=1345370216 instance=ExtResource("4_yilmc")] +position = Vector2(496.00012, -234.00003) +scale = Vector2(0.97196096, 1.0195743) + +[node name="cube3" parent="cube container" unique_id=321996969 instance=ExtResource("4_yilmc")] +position = Vector2(353, -237.99998) +scale = Vector2(0.97196096, 1.0195743) + +[node name="CharacterBody2D" parent="." unique_id=44928680 instance=ExtResource("5_epjhv")] +position = Vector2(337, 11) + +[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1238523064] +position = Vector2(1, 0) +tile_map_data = PackedByteArray("AAAHAAgAAAAAAAAAAAAHAAkAAAAAAAEAAAAHAAoAAAAAAAIAAAAIAAgAAAABAAAAAAAIAAkAAAABAAEAAAAIAAoAAAABAAIAAAAJAAgAAAACAAAAAAAJAAkAAAACAAEAAAAJAAoAAAACAAIAAAAKAAgAAAAAAAAAAAAKAAkAAAAAAAEAAAAKAAoAAAAAAAIAAAALAAgAAAABAAAAAAALAAkAAAABAAEAAAALAAoAAAABAAIAAAAMAAgAAAACAAAAAAAMAAkAAAACAAEAAAAMAAoAAAACAAIAAAARAAcAAAAAAAAAAAARAAgAAAAAAAEAAAARAAkAAAAAAAIAAAASAAcAAAABAAAAAAASAAgAAAABAAEAAAASAAkAAAABAAIAAAATAAcAAAACAAAAAAATAAgAAAACAAEAAAATAAkAAAACAAIAAAAXAAcAAAAAAAAAAAAXAAgAAAAAAAEAAAAXAAkAAAAAAAIAAAAYAAcAAAABAAAAAAAYAAgAAAABAAEAAAAYAAkAAAABAAIAAAAZAAcAAAACAAAAAAAZAAgAAAACAAEAAAAZAAkAAAACAAIAAAAUABUAAAAAAAAAAAAUABYAAAAAAAEAAAAUABcAAAAAAAIAAAAVABUAAAABAAAAAAAVABYAAAABAAEAAAAVABcAAAABAAIAAAAWABUAAAACAAAAAAAWABYAAAACAAEAAAAWABcAAAACAAIAAAARABUAAAAAAAAAAAARABYAAAAAAAEAAAARABcAAAAAAAIAAAASABUAAAABAAAAAAASABYAAAABAAEAAAASABcAAAABAAIAAAATABUAAAACAAAAAAATABYAAAACAAEAAAATABcAAAACAAIAAAAUAAcAAAAAAAAAAAAUAAgAAAAAAAEAAAAUAAkAAAAAAAIAAAAVAAcAAAABAAAAAAAVAAgAAAABAAEAAAAVAAkAAAABAAIAAAAWAAcAAAACAAAAAAAWAAgAAAACAAEAAAAWAAkAAAACAAIAAAA=") +tile_set = SubResource("TileSet_17rxn") + +[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"] +[connection signal="triggerActiveSignal" from="Area2D" to="." method="on_trigger"] diff --git a/scene/level3.tscn b/scene/level3.tscn new file mode 100644 index 0000000..115138d --- /dev/null +++ b/scene/level3.tscn @@ -0,0 +1,438 @@ +[gd_scene format=3 uid="uid://d0cjxnhax736k"] + +[ext_resource type="Script" uid="uid://cxlpex21vgnla" path="res://scripts/scenemanager.gd" id="1_75ir5"] +[ext_resource type="Script" uid="uid://cebn6t5n1cwib" path="res://scripts/platform.gd" id="2_4hqa2"] +[ext_resource type="Script" uid="uid://cdxh14mtlvhl6" path="res://scripts/trigger_circle.gd" id="3_565cw"] +[ext_resource type="PackedScene" uid="uid://d0wbtenf13iol" path="res://scene/cube.tscn" id="4_7k4yc"] +[ext_resource type="PackedScene" uid="uid://d4nnj62h6fjcq" path="res://scene/character_body_2d.tscn" id="5_sdohn"] +[ext_resource type="Texture2D" uid="uid://cmp7cdbeppphh" path="res://assets/graphics/Enviromentsf/Terrain (32x32).png" id="6_87m6s"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_mwb40"] +size = Vector2(385.1665, 68.55917) + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mwb40"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_e2o6t"] +radius = 153.83757 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ll5lq"] +texture = ExtResource("6_87m6s") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 +7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 +9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 +10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 +12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/right_side = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 +13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/left_side = 0 +13:0/0/terrains_peering_bit/top_side = 0 +15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/left_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 +1:1/0 = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 +7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 +9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 +10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 +12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 +13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/right_side = 0 +13:1/0/terrains_peering_bit/bottom_right_corner = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 +15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/left_side = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 +16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/right_side = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:2/0/terrains_peering_bit/top_side = 0 +6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/bottom_side = 0 +6:3/0/terrains_peering_bit/top_side = 0 +6:3/0/terrains_peering_bit/top_right_corner = 0 +7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_left_corner = 0 +7:3/0/terrains_peering_bit/top_side = 0 +9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +9:3/0/terrains_peering_bit/bottom_side = 0 +9:3/0/terrains_peering_bit/bottom_left_corner = 0 +9:3/0/terrains_peering_bit/left_side = 0 +10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +10:3/0/terrains_peering_bit/bottom_right_corner = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +12:3/0 = 0 +13:3/0 = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 0.95589066, -16, 1.2745247) +15:3/0 = 0 +15:3/0/terrain_set = 0 +15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:3/0/terrains_peering_bit/right_side = 0 +15:3/0/terrains_peering_bit/bottom_right_corner = 0 +15:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0 = 0 +16:3/0/terrain_set = 0 +16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0/terrains_peering_bit/bottom_left_corner = 0 +16:3/0/terrains_peering_bit/left_side = 0 +0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0/terrains_peering_bit/right_side = 0 +1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 +2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0/terrains_peering_bit/left_side = 0 +4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:4/0 = 0 +6:4/0/terrain_set = 0 +6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.8676758, -16, 2.2304153, 16, -16, 16) +6:4/0/terrains_peering_bit/right_side = 0 +6:4/0/terrains_peering_bit/bottom_right_corner = 0 +6:4/0/terrains_peering_bit/bottom_side = 0 +6:4/0/terrains_peering_bit/top_side = 0 +7:4/0 = 0 +7:4/0/terrain_set = 0 +7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.8676777, -16, 16, -16, 16, 16, -2.8676777, 16) +7:4/0/terrains_peering_bit/bottom_side = 0 +7:4/0/terrains_peering_bit/bottom_left_corner = 0 +7:4/0/terrains_peering_bit/left_side = 0 +7:4/0/terrains_peering_bit/top_side = 0 +9:4/0 = 0 +9:4/0/terrain_set = 0 +9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) +9:4/0/terrains_peering_bit/right_side = 0 +9:4/0/terrains_peering_bit/top_left_corner = 0 +9:4/0/terrains_peering_bit/top_side = 0 +10:4/0 = 0 +10:4/0/terrain_set = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 2.2304153, 16, 1.2745247, 16, 16, -16, 16) +10:4/0/terrains_peering_bit/left_side = 0 +10:4/0/terrains_peering_bit/top_side = 0 +10:4/0/terrains_peering_bit/top_right_corner = 0 +12:4/0 = 0 +12:4/0/terrain_set = 0 +12:4/0/terrain = 0 +12:4/0/terrains_peering_bit/right_side = 0 +12:4/0/terrains_peering_bit/left_side = 0 +12:4/0/terrains_peering_bit/top_side = 0 +13:4/0 = 0 +15:4/0 = 0 +15:4/0/terrain_set = 0 +15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:4/0/terrains_peering_bit/right_side = 0 +15:4/0/terrains_peering_bit/top_side = 0 +16:4/0 = 0 +16:4/0/terrain_set = 0 +16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 + +[sub_resource type="TileSet" id="TileSet_17rxn"] +tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "leafy dirt" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +sources/0 = SubResource("TileSetAtlasSource_ll5lq") + +[node name="Game" type="Node2D" unique_id=1249397989] + +[node name="SceneManager" type="Node2D" parent="." unique_id=1165789663] +unique_name_in_owner = true +position = Vector2(661, 24) +scale = Vector2(0.97016877, 1.0195743) +script = ExtResource("1_75ir5") + +[node name="platform" type="StaticBody2D" parent="." unique_id=817692358] +position = Vector2(421, 536.99994) +script = ExtResource("2_4hqa2") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform" unique_id=469432658] +position = Vector2(-708, -79.72034) +shape = SubResource("RectangleShape2D_mwb40") + +[node name="left wall" type="StaticBody2D" parent="." unique_id=1287017623] +position = Vector2(1166, 111.00003) +rotation = 2.5344458 +script = ExtResource("2_4hqa2") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="left wall" unique_id=1720529410] +shape = SubResource("RectangleShape2D_mwb40") + +[node name="right wall" type="StaticBody2D" parent="." unique_id=820553779] +position = Vector2(-483, 92) +rotation = -1.6017642 +script = ExtResource("2_4hqa2") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="right wall" unique_id=22403495] +shape = SubResource("RectangleShape2D_mwb40") + +[node name="conveyor" type="StaticBody2D" parent="." unique_id=1750621226] +position = Vector2(261.99988, 492.00006) +rotation = -1.5922282 +scale = Vector2(0.86305076, 3.6811934) +constant_linear_velocity = Vector2(250, 0) + +[node name="wall left" type="CollisionShape2D" parent="conveyor" unique_id=482160421] +position = Vector2(406.85486, -406.34064) +rotation = 1.6034058 +scale = Vector2(0.9552965, 0.99587345) +shape = SubResource("RectangleShape2D_mwb40") + +[node name="world border" type="StaticBody2D" parent="." unique_id=920368740] +position = Vector2(563, 988) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="world border" unique_id=1075301728] +shape = SubResource("WorldBoundaryShape2D_mwb40") + +[node name="Area2D" type="Area2D" parent="." unique_id=733267557] +position = Vector2(945, 535) +script = ExtResource("3_565cw") +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=762446279] +shape = SubResource("CircleShape2D_e2o6t") + +[node name="cube container" type="Node2D" parent="." unique_id=22976120] +position = Vector2(226, 231) + +[node name="cube" parent="cube container" unique_id=1851497894 instance=ExtResource("4_7k4yc")] +position = Vector2(429.00003, 372) +scale = Vector2(0.97196096, 1.0195743) + +[node name="cube2" parent="cube container" unique_id=1345370216 instance=ExtResource("4_7k4yc")] +position = Vector2(496.00012, -234.00003) +scale = Vector2(0.97196096, 1.0195743) + +[node name="cube3" parent="cube container" unique_id=321996969 instance=ExtResource("4_7k4yc")] +position = Vector2(353, -237.99998) +scale = Vector2(0.97196096, 1.0195743) + +[node name="CharacterBody2D" parent="." unique_id=44928680 instance=ExtResource("5_sdohn")] +position = Vector2(337, 11) + +[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1238523064] +position = Vector2(1, 0) +tile_set = SubResource("TileSet_17rxn") + +[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"] +[connection signal="triggerActiveSignal" from="Area2D" to="." method="on_trigger"] diff --git a/scripts/game.gd b/scripts/game.gd index 5f20721..d6e3c27 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -1,10 +1,36 @@ -class_name game extends Node2D +extends Node2D signal destroySignal (body) +var levels=["res://scene/game.tscn", "res://scene/level2.tscn", "res://scene/level3.tscn"] +var currentlevel=0 +var timers=[5, 15, 10] +var timeleft=0 + +var playercurrenthealth:int = 100 + +var enemiesdict = {} + +signal levelchangesignal(level) + +var timer = Timer.new() + +func secondcounter()-> void: + timeleft -=1 + if timeleft <=0: + print("YOU LOOOSSSTTT!!!!") + levelchangesignal.emit(levels[currentlevel]) -# Called when the node enters the scene tree for the first time. func _ready() -> void: + reset() get_window().grab_focus() + add_child(timer) + timer.wait_time=1 + timer.one_shot = false + timer.connect("timeout", secondcounter) + timer.start() + +func reset()->void: + timeleft = timers[currentlevel] # Called every frame. 'delta' is the elapsed time since the previous frame. @@ -18,3 +44,25 @@ func on_trigger(body: Variant, intentMessage: Variant) -> void: func totalCube(NumberOfCube:int)->void: print ("gameknowscubes: "+str(NumberOfCube)) + if NumberOfCube <=0: + print("YOu won!!") + currentlevel +=1 + if currentlevel >= levels.size(): + currentlevel = 0 + levelchangesignal.emit(levels[currentlevel]) + +func _on_slime_damage(_body,slime)->void: + print("owie:(") + print("doing damage: " +str(enemiesdict[slime]["damage"])) + playercurrenthealth -=enemiesdict[slime]["damage"] + if playercurrenthealth <=0: + print("u ded") + +func addenemytolevel(slime)->void: + print("adding enemhy to level") + var randamage = randi_range(1,20) + var enemystat = { + "health":50000, + "damage":25 + } + enemiesdict[slime]=enemystat diff --git a/scripts/player_guy.gd b/scripts/player_guy.gd index 633f2af..b9a1791 100644 --- a/scripts/player_guy.gd +++ b/scripts/player_guy.gd @@ -74,7 +74,7 @@ func handle_movement(delta)->void: velocity.x = move_toward(velocity.x, 0, SPEED) func handle_collisions()->void: - if right_cast.is_colliding() && facing==FaceDirection.RIGHT: + if right_cast.is_colliding() && facing==FaceDirection.RIGHT and right_cast.get_collider() is RigidBody2D: var collider = right_cast.get_collider() if collider is Node && collider is RigidBody2D: pushTarget = collider diff --git a/scripts/scenemanager.gd b/scripts/scenemanager.gd index 8a54888..b1313ff 100644 --- a/scripts/scenemanager.gd +++ b/scripts/scenemanager.gd @@ -1,16 +1,29 @@ class_name SM extends Node2D var grenade = preload("res://scene/grenade.tscn") -@onready var game: Node2D = $".." @onready var cube_container: Node2D = $"../cube container" +@onready var enemies: Node2D = $"../enemies" func _ready() -> void: - print("hey it's working!") - game.destroySignal.connect(destroy) + gameController.reset() + gameController.destroySignal.connect(destroy) buildLevel() + gameController.levelchangesignal.connect(changescene) func buildLevel()->void: updateCube() + if enemies: + updateenemies() + +func updateenemies()->void: + var totalenemies = 0 + for obj in enemies.get_children(): + if obj is slime: + totalenemies +=1 + if not obj.slimedamagesignal.is_connected(gameController._on_slime_damage): + obj.slimedamagesignal.is_connected(gameController._on_slime_damage) + gameController.addenemytolevel(obj) + func destroy(body)->void: if body is Cube: body.queue_free() @@ -24,6 +37,7 @@ func updateCube()->void: obj.tree_exited.connect(updateCube) _CubeTotal +=1 print ("Number of cubes: "+str(_CubeTotal)) + gameController.totalCube(_CubeTotal) func makeGrenade(_grenadeposition, _grenadedirection)->void: print("grenade time") @@ -31,3 +45,6 @@ func makeGrenade(_grenadeposition, _grenadedirection)->void: owner.add_child(myGrenade) myGrenade.transform = _grenadeposition myGrenade.apply_central_impulse(Vector2(_grenadedirection, -1)*400) + +func changescene(level)->void: + get_tree().call_deferred("change_scene_to_file",level) diff --git a/scripts/slimy.gd b/scripts/slimy.gd new file mode 100644 index 0000000..e6557b6 --- /dev/null +++ b/scripts/slimy.gd @@ -0,0 +1,32 @@ +class_name slime extends Area2D + +@onready var slime_texture: AnimatedSprite2D = $"slime texture" +@onready var leftdowncast: RayCast2D = $leftdowncast +@onready var rightcast: RayCast2D = $rightcast +@onready var rightdowncast: RayCast2D = $rightdowncast +@onready var leftcast: RayCast2D = $leftcast + +signal slimedamagesignal(body, slime) + +var speed: int = 100 +var direction = 1 + +func _process(delta: float) -> void: + position.x += direction*speed*delta + if rightcast.is_colliding() and not rightcast.get_collider() is Player: + direction=-1 + if leftcast.is_colliding() and not leftcast.get_collider() is Player: + direction=1 + slime_texture.flip_h = false + if not rightdowncast.is_colliding(): + direction = -1 + + if not leftdowncast.is_colliding(): + direction = 1 + + +func _on_body_entered(body: Node2D) -> void: + print("player damage at slime") + if body is Player: + print("slime see player") + slimedamagesignal.emit(body, self) diff --git a/scripts/slimy.gd.uid b/scripts/slimy.gd.uid new file mode 100644 index 0000000..213c978 --- /dev/null +++ b/scripts/slimy.gd.uid @@ -0,0 +1 @@ +uid://bd6j515foi0bj diff --git a/slimy.tscn b/slimy.tscn new file mode 100644 index 0000000..0083105 --- /dev/null +++ b/slimy.tscn @@ -0,0 +1,78 @@ +[gd_scene format=3 uid="uid://ctfxiipsy88op"] + +[ext_resource type="Script" uid="uid://bd6j515foi0bj" path="res://scripts/slimy.gd" id="1_m2evq"] +[ext_resource type="Texture2D" uid="uid://ct2w85dun0kjq" path="res://assets/graphics/enemies/slime_purple.png" id="1_pngbj"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_m2evq"] +atlas = ExtResource("1_pngbj") +region = Rect2(0, 24, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v6kx6"] +atlas = ExtResource("1_pngbj") +region = Rect2(24, 24, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xi873"] +atlas = ExtResource("1_pngbj") +region = Rect2(48, 24, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eyx2s"] +atlas = ExtResource("1_pngbj") +region = Rect2(72, 24, 24, 24) + +[sub_resource type="SpriteFrames" id="SpriteFrames_jhbdr"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_m2evq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v6kx6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xi873") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eyx2s") +}], +"loop": true, +"name": &"idle", +"speed": 12.0 +}] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_pssmh"] +size = Vector2(19, 35) + +[node name="slimy" type="Area2D" unique_id=1550071708] +position = Vector2(12, 23) +script = ExtResource("1_m2evq") +metadata/_edit_group_ = true + +[node name="slime texture" type="AnimatedSprite2D" parent="." unique_id=618621224] +texture_filter = 1 +position = Vector2(9.5, 9) +scale = Vector2(1.7916666, 1.75) +sprite_frames = SubResource("SpriteFrames_jhbdr") +animation = &"idle" +autoplay = "idle" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1805299238] +position = Vector2(9.5, 11.5) +shape = SubResource("RectangleShape2D_pssmh") + +[node name="leftdowncast" type="RayCast2D" parent="." unique_id=1676774856] +position = Vector2(-2, 21) +target_position = Vector2(0, 11) + +[node name="rightcast" type="RayCast2D" parent="." unique_id=279001476] +position = Vector2(18, 14) +target_position = Vector2(7, 0) + +[node name="rightdowncast" type="RayCast2D" parent="." unique_id=822428022] +position = Vector2(20, 21) +target_position = Vector2(0, 11) + +[node name="leftcast" type="RayCast2D" parent="." unique_id=1706617986] +position = Vector2(0, 14) +target_position = Vector2(-7, 0) + +[connection signal="body_entered" from="." to="." method="_on_body_entered"]