[gd_scene load_steps=29 format=2] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3] [ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=4] [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=6] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=8] [ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=9] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=10] [ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=11] [ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=12] [ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=13] [ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=14] [ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15] [ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=16] [ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=17] [ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=18] [ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=19] [ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.tscn" type="PackedScene" id=20] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] [sub_resource type="TileSet" id=5] 0/name = "platform-plants.png 0" 0/texture = ExtResource( 3 ) 0/tex_offset = Vector2( 0, 0 ) 0/modulate = Color( 1, 1, 1, 1 ) 0/region = Rect2( 16, 0, 256, 16 ) 0/tile_mode = 2 0/autotile/icon_coordinate = Vector2( 5, 0 ) 0/autotile/tile_size = Vector2( 16, 16 ) 0/autotile/spacing = 0 0/autotile/occluder_map = [ ] 0/autotile/navpoly_map = [ ] 0/autotile/priority_map = [ ] 0/autotile/z_index_map = [ ] 0/occluder_offset = Vector2( 0, 0 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) 0/shape_one_way = false 0/shape_one_way_margin = 0.0 0/shapes = [ ] 0/z_index = 0 [sub_resource type="Animation" id=6] resource_name = "Path" length = 6.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 3 ), "transitions": PoolRealArray( 1, 0.965936 ), "update": 0, "values": [ Vector2( 0, 0 ), Vector2( 48, 0 ) ] } [sub_resource type="Animation" id=7] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector2( 0, 0 ) ] } [sub_resource type="Animation" id=8] resource_name = "Path" length = 6.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 3 ), "transitions": PoolRealArray( 1, 0.965936 ), "update": 0, "values": [ Vector2( 0, 0 ), Vector2( -48, 0 ) ] } [sub_resource type="Animation" id=9] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector2( 0, 0 ) ] } [sub_resource type="Animation" id=10] resource_name = "Path" length = 12.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 6 ), "transitions": PoolRealArray( 1, 0.965936 ), "update": 0, "values": [ Vector2( 0, 0 ), Vector2( 0, 192 ) ] } [sub_resource type="Animation" id=11] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("KinematicBody2D:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector2( 0, 0 ) ] } [node name="LevelTemplate" type="Node2D"] script = ExtResource( 4 ) __meta__ = { "_edit_horizontal_guides_": [ 464.0 ], "_edit_vertical_guides_": [ 2880.0 ] } [node name="SignalManager" parent="." instance=ExtResource( 5 )] [node name="LevelState" parent="." instance=ExtResource( 6 )] unique_name_in_owner = true [node name="UserInterface" parent="." instance=ExtResource( 7 )] unique_name_in_owner = true [node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"] wait_time = 20.0 [node name="BlobbyCam" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] frame = 1 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] frame = 0 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true position = Vector2( -70, -1.90735e-06 ) scale = Vector2( 0.878906, 0.936025 ) [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 4 ) [node name="TileMap" type="TileMap" parent="."] unique_name_in_owner = true tile_set = ExtResource( 1 ) cell_size = Vector2( 16, 16 ) cell_quadrant_size = 3 cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 tile_data = PoolIntArray( -458758, 5, 10, -458757, 5, 10, -458756, 5, 10, -458755, 5, 10, -458754, 5, 10, -458753, 5, 10, -524288, 5, 10, -524287, 5, 10, -524286, 5, 10, -524285, 5, 10, -524284, 5, 10, -524283, 5, 10, -524282, 5, 65541, -524278, 5, 65540, -524277, 5, 10, -524276, 5, 10, -524275, 5, 10, -524274, 5, 10, -524273, 5, 10, -524272, 5, 10, -524271, 5, 10, -524270, 5, 10, -524269, 5, 10, -524268, 5, 10, -524267, 5, 10, -524266, 5, 10, -524265, 5, 10, -524264, 5, 10, -524263, 5, 10, -524262, 5, 10, -524261, 5, 10, -524260, 5, 10, -524259, 5, 10, -524258, 5, 10, -524257, 5, 10, -524256, 5, 10, -524255, 5, 10, -524254, 5, 10, -524253, 5, 10, -524252, 5, 10, -524251, 5, 10, -524250, 5, 10, -524249, 5, 10, -524248, 5, 10, -524247, 5, 10, -524246, 5, 10, -524245, 5, 10, -524244, 5, 10, -524243, 5, 10, -524242, 5, 10, -524241, 5, 10, -524240, 5, 10, -524239, 5, 10, -524238, 5, 10, -524237, 5, 10, -524236, 5, 10, -524235, 5, 10, -393223, 5, 8, -458746, 5, 9, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 65536, -458698, 5, 6, -327687, 5, 8, -393162, 5, 6, -262151, 5, 8, -327626, 5, 6, -196615, 5, 8, -262090, 5, 6, -131079, 5, 8, -196554, 5, 6, -65543, 5, 8, -131018, 5, 6, -7, 5, 8, -65524, 5, 2, -65523, 5, 2, -65522, 5, 2, -65521, 5, 2, -65514, 5, 2, -65513, 5, 2, -65512, 5, 2, -65482, 5, 6, 65530, 5, 3, 65531, 5, 3, 65532, 5, 3, 65533, 5, 3, 65534, 5, 3, 65535, 5, 3, 0, 5, 3, 1, 5, 3, 2, 5, 3, 3, 5, 3, 4, 5, 3, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 22, 5, 10, 23, 5, 10, 24, 5, 10, 54, 5, 6, 131066, 5, 8, 65590, 5, 6, 196602, 5, 8, 131123, 5, 2, 131124, 5, 2, 131125, 5, 2, 262138, 5, 8, 196659, 5, 6, 196662, 5, 6, 327674, 5, 8, 262195, 5, 6, 262198, 5, 6, 393210, 5, 8, 327686, 5, 2, 327687, 5, 2, 327688, 5, 2, 327689, 5, 2, 327690, 5, 2, 327691, 5, 2, 327692, 5, 2, 327693, 5, 2, 327694, 5, 2, 327695, 5, 2, 327696, 5, 2, 327697, 5, 2, 327698, 5, 2, 327699, 5, 2, 327700, 5, 2, 327701, 5, 2, 327702, 5, 2, 327703, 5, 2, 327704, 5, 2, 327705, 5, 2, 327706, 5, 2, 327707, 5, 2, 327708, 5, 2, 327709, 5, 2, 327710, 5, 2, 327711, 5, 2, 327712, 5, 2, 327713, 5, 2, 327714, 5, 2, 327715, 5, 2, 327716, 5, 2, 327717, 5, 2, 327718, 5, 2, 327719, 5, 2, 327720, 5, 2, 327721, 5, 2, 327722, 5, 2, 327723, 5, 2, 327724, 5, 2, 327725, 5, 2, 327726, 5, 2, 327727, 5, 2, 327728, 5, 2, 327729, 5, 2, 327730, 5, 2, 327734, 5, 6, 458746, 5, 8, 393270, 5, 6, 524282, 5, 8, 458806, 5, 6, 589818, 5, 8, 524342, 5, 6, 655354, 5, 8, 589878, 5, 6, 720890, 5, 8, 655414, 5, 6, 786426, 5, 8, 720950, 5, 6, 851962, 5, 8, 786486, 5, 6, 917498, 5, 8, 852022, 5, 6, 983034, 5, 8, 917558, 5, 6, 1048570, 5, 8, 983052, 5, 2, 983053, 5, 2, 983054, 5, 2, 983061, 5, 2, 983062, 5, 2, 983063, 5, 2, 983064, 5, 2, 983071, 5, 2, 983072, 5, 2, 983073, 5, 2, 983074, 5, 2, 983075, 5, 2, 983094, 5, 6, 1114106, 5, 8, 1048588, 5, 10, 1048589, 5, 10, 1048590, 5, 10, 1048597, 5, 10, 1048598, 5, 10, 1048599, 5, 10, 1048600, 5, 10, 1048607, 5, 10, 1048608, 5, 10, 1048609, 5, 10, 1048610, 5, 10, 1048611, 5, 10, 1048630, 5, 6, 1179642, 5, 8, 1114166, 5, 6, 1245178, 5, 8, 1179702, 5, 6, 1310714, 5, 8, 1245238, 5, 6, 1376250, 5, 8, 1310768, 5, 2, 1310769, 5, 2, 1310770, 5, 2, 1310771, 5, 2, 1310772, 5, 2, 1310773, 5, 2, 1441786, 5, 8, 1376310, 5, 6, 1507322, 5, 8, 1441846, 5, 6, 1572858, 5, 8, 1507382, 5, 6, 1638395, 5, 3, 1638396, 5, 3, 1638397, 5, 3, 1638398, 5, 3, 1638399, 5, 3, 1572864, 5, 3, 1572865, 5, 3, 1572866, 5, 3, 1572867, 5, 3, 1572868, 5, 3, 1572869, 5, 3, 1572870, 5, 3, 1572871, 5, 3, 1572872, 5, 3, 1572873, 5, 3, 1572874, 5, 3, 1572875, 5, 3, 1572876, 5, 3, 1572877, 5, 3, 1572878, 5, 2, 1572879, 5, 2, 1572880, 5, 2, 1572881, 5, 2, 1572882, 5, 2, 1572883, 5, 2, 1572884, 5, 2, 1572885, 5, 2, 1572886, 5, 2, 1572887, 5, 2, 1572888, 5, 2, 1572889, 5, 2, 1572890, 5, 2, 1572891, 5, 2, 1572892, 5, 2, 1572893, 5, 2, 1572894, 5, 2, 1572895, 5, 2, 1572896, 5, 2, 1572897, 5, 2, 1572898, 5, 2, 1572899, 5, 2, 1572900, 5, 2, 1572901, 5, 2, 1572902, 5, 2, 1572903, 5, 2, 1572904, 5, 2, 1572905, 5, 2, 1572906, 5, 2, 1572907, 5, 2, 1572908, 5, 2, 1572909, 5, 2, 1572910, 5, 2, 1572911, 5, 2, 1572912, 5, 2, 1572913, 5, 2, 1572914, 5, 2, 1572915, 5, 2, 1572916, 5, 2, 1572917, 5, 2 ) [node name="DropThroughPlatforms" type="TileMap" parent="."] tile_set = ExtResource( 2 ) cell_size = Vector2( 16, 16 ) format = 1 [node name="PlatformPlants" type="TileMap" parent="."] tile_set = SubResource( 5 ) cell_size = Vector2( 16, 16 ) format = 1 [node name="ElevatorButton" parent="." instance=ExtResource( 11 )] position = Vector2( 832, 320 ) elevator_time = 5 [node name="Portal" parent="ElevatorButton" instance=ExtResource( 10 )] position = Vector2( 0, 24 ) scale = Vector2( 0.5, 0.5 ) next_scene = "res://src/Levels/5 Tutorial Level.tscn" [node name="DartingEnemy" parent="ElevatorButton/Portal" instance=ExtResource( 20 )] position = Vector2( -192, -301 ) [node name="Obstacles" type="Node2D" parent="."] position = Vector2( -412, -173 ) [node name="Spikes" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 524, 89 ) [node name="Spikes2" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 548, 89 ) [node name="Spikes3" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 572, 89 ) [node name="Spikes5" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 860, 401 ) [node name="Spikes6" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 860, 377 ) [node name="Spikes7" parent="Obstacles" instance=ExtResource( 12 )] position = Vector2( 860, 425 ) [node name="Coins" type="Node2D" parent="."] [node name="Coin" parent="Coins" instance=ExtResource( 13 )] position = Vector2( 208, -31 ) [node name="Coin2" parent="Coins" instance=ExtResource( 13 )] position = Vector2( 448, 167 ) [node name="Caterpillar" parent="." instance=ExtResource( 15 )] position = Vector2( 377, -23 ) [node name="Caterpillar2" parent="." instance=ExtResource( 15 )] position = Vector2( 368, 233 ) [node name="FlyingPlatform2" type="Node2D" parent="."] position = Vector2( 520, -16 ) script = ExtResource( 16 ) [node name="anim" type="AnimationPlayer" parent="FlyingPlatform2"] autoplay = "Path" playback_process_mode = 0 anims/Path = SubResource( 6 ) anims/RESET = SubResource( 7 ) [node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform2"] collision_layer = 8 collision_mask = 0 [node name="Sprite" type="Sprite" parent="FlyingPlatform2/KinematicBody2D"] position = Vector2( 0, 8 ) texture = ExtResource( 17 ) vframes = 8 frame = 1 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform2/KinematicBody2D"] position = Vector2( 0, 4 ) scale = Vector2( 4, 0.4 ) polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) [node name="FlyingPlatform3" type="Node2D" parent="."] position = Vector2( 728, -16 ) script = ExtResource( 16 ) [node name="anim" type="AnimationPlayer" parent="FlyingPlatform3"] autoplay = "Path" playback_process_mode = 0 anims/Path = SubResource( 8 ) anims/RESET = SubResource( 9 ) [node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform3"] collision_layer = 8 collision_mask = 0 [node name="Sprite" type="Sprite" parent="FlyingPlatform3/KinematicBody2D"] position = Vector2( 0, 8 ) texture = ExtResource( 17 ) vframes = 8 frame = 1 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform3/KinematicBody2D"] position = Vector2( 0, 4 ) scale = Vector2( 4, 0.4 ) polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) [node name="FlyingPlatform4" type="Node2D" parent="."] position = Vector2( 7, 110 ) script = ExtResource( 16 ) [node name="anim" type="AnimationPlayer" parent="FlyingPlatform4"] autoplay = "Path" playback_process_mode = 0 anims/Path = SubResource( 10 ) anims/RESET = SubResource( 11 ) [node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform4"] collision_layer = 8 collision_mask = 0 [node name="Sprite" type="Sprite" parent="FlyingPlatform4/KinematicBody2D"] position = Vector2( 0, 8 ) texture = ExtResource( 17 ) vframes = 8 frame = 1 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform4/KinematicBody2D"] position = Vector2( 0, 4 ) scale = Vector2( 4, 0.4 ) polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) [node name="GateButton" parent="." instance=ExtResource( 18 )] position = Vector2( 216, 223 ) [node name="GateBlock" parent="." instance=ExtResource( 14 )] position = Vector2( 780, 372 ) [node name="GateBlock2" parent="." instance=ExtResource( 14 )] position = Vector2( 780, 348 ) [node name="FlyingLaserCutter" parent="." instance=ExtResource( 19 )] position = Vector2( 663, 256 ) rotation = 1.5708 [node name="FlyingLaserCutter2" parent="." instance=ExtResource( 19 )] position = Vector2( 288, 256 ) rotation = -1.5708 [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [editable path="SignalManager"] [editable path="LevelState"] [editable path="UserInterface"] [editable path="UserInterface/HUD"] [editable path="BlobbyCam"] [editable path="Blobby"]