better coin collecting, level timer, multilevels, badguys with characterstats
This commit is contained in:
		
							parent
							
								
									53bae7b109
								
							
						
					
					
						commit
						68b998652c
					
				
							
								
								
									
										
											BIN
										
									
								
								assets/graphics/enemies/slime_purple (1).png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/graphics/enemies/slime_purple (1).png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.0 KiB  | 
							
								
								
									
										34
									
								
								assets/graphics/enemies/slime_purple (1).png.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/graphics/enemies/slime_purple (1).png.import
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="texture"
 | 
				
			||||||
 | 
					type="CompressedTexture2D"
 | 
				
			||||||
 | 
					uid="uid://dwwlva8pi3da2"
 | 
				
			||||||
 | 
					path="res://.godot/imported/slime_purple (1).png-ff140cda4bae63a63a843ef175e2fa42.ctex"
 | 
				
			||||||
 | 
					metadata={
 | 
				
			||||||
 | 
					"vram_texture": false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/graphics/enemies/slime_purple (1).png"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/slime_purple (1).png-ff140cda4bae63a63a843ef175e2fa42.ctex"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
 | 
					compress/high_quality=false
 | 
				
			||||||
 | 
					compress/lossy_quality=0.7
 | 
				
			||||||
 | 
					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/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
 | 
				
			||||||
@ -15,6 +15,10 @@ run/main_scene="uid://coiqh7p31ukig"
 | 
				
			|||||||
config/features=PackedStringArray("4.4", "Forward Plus")
 | 
					config/features=PackedStringArray("4.4", "Forward Plus")
 | 
				
			||||||
config/icon="res://icon.svg"
 | 
					config/icon="res://icon.svg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[autoload]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Gamecontroller="*res://scripts/gamecontroller.gd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[display]
 | 
					[display]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
window/size/viewport_width=320
 | 
					window/size/viewport_width=320
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
[gd_scene load_steps=17 format=3 uid="uid://bfvm14fearqvq"]
 | 
					[gd_scene load_steps=17 format=3 uid="uid://bfvm14fearqvq"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="Script" uid="uid://nqigicsb4oqh" path="res://scenes/coin.gd" id="1_i64fm"]
 | 
					[ext_resource type="Script" uid="uid://nqigicsb4oqh" path="res://scripts/coin.gd" id="1_i64fm"]
 | 
				
			||||||
[ext_resource type="Texture2D" uid="uid://b22ko1chbu1t2" path="res://assets/graphics/pickups/coin.png" id="2_11l1o"]
 | 
					[ext_resource type="Texture2D" uid="uid://b22ko1chbu1t2" path="res://assets/graphics/pickups/coin.png" id="2_11l1o"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,5 @@
 | 
				
			|||||||
[gd_scene load_steps=18 format=4 uid="uid://coiqh7p31ukig"]
 | 
					[gd_scene load_steps=18 format=4 uid="uid://coiqh7p31ukig"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="Script" uid="uid://bblqtronap0j4" path="res://scripts/gamecontroller.gd" id="1_lnu2h"]
 | 
					 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://dlihpyr58tqqq" path="res://scenes/crate.tscn" id="2_lbhrr"]
 | 
					[ext_resource type="PackedScene" uid="uid://dlihpyr58tqqq" path="res://scenes/crate.tscn" id="2_lbhrr"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://boqg1nyudmkh4" path="res://scenes/player.tscn" id="2_lnu2h"]
 | 
					[ext_resource type="PackedScene" uid="uid://boqg1nyudmkh4" path="res://scenes/player.tscn" id="2_lnu2h"]
 | 
				
			||||||
[ext_resource type="Script" uid="uid://d1daji4xwuj03" path="res://scripts/scene_manager.gd" id="2_p57ef"]
 | 
					[ext_resource type="Script" uid="uid://d1daji4xwuj03" path="res://scripts/scene_manager.gd" id="2_p57ef"]
 | 
				
			||||||
@ -10,6 +9,7 @@
 | 
				
			|||||||
[ext_resource type="Texture2D" uid="uid://dv63a7rb24ob8" path="res://assets/graphics/environment/backgrounds/trees.png" id="5_kvpfn"]
 | 
					[ext_resource type="Texture2D" uid="uid://dv63a7rb24ob8" path="res://assets/graphics/environment/backgrounds/trees.png" id="5_kvpfn"]
 | 
				
			||||||
[ext_resource type="Texture2D" uid="uid://dvn642wmhcrfc" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="5_vtaks"]
 | 
					[ext_resource type="Texture2D" uid="uid://dvn642wmhcrfc" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="5_vtaks"]
 | 
				
			||||||
[ext_resource type="Texture2D" uid="uid://cy0lgun8t11xv" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="6_kvpfn"]
 | 
					[ext_resource type="Texture2D" uid="uid://cy0lgun8t11xv" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="6_kvpfn"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://dpltbyp8ku2mi" path="res://scenes/slime.tscn" id="11_dinhu"]
 | 
				
			||||||
[ext_resource type="PackedScene" uid="uid://bfvm14fearqvq" path="res://scenes/coin.tscn" id="11_kvpfn"]
 | 
					[ext_resource type="PackedScene" uid="uid://bfvm14fearqvq" path="res://scenes/coin.tscn" id="11_kvpfn"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
 | 
				
			||||||
@ -412,7 +412,6 @@ size = Vector2(44, 20)
 | 
				
			|||||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
 | 
					[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="game" type="Node2D"]
 | 
					[node name="game" type="Node2D"]
 | 
				
			||||||
script = ExtResource("1_lnu2h")
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="SceneManager" type="Node2D" parent="."]
 | 
					[node name="SceneManager" type="Node2D" parent="."]
 | 
				
			||||||
unique_name_in_owner = true
 | 
					unique_name_in_owner = true
 | 
				
			||||||
@ -445,7 +444,7 @@ texture = ExtResource("5_kvpfn")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
 | 
					[node name="TileMapLayer" type="TileMapLayer" parent="."]
 | 
				
			||||||
texture_filter = 1
 | 
					texture_filter = 1
 | 
				
			||||||
tile_map_data = PackedByteArray("AAAOAAsAAAACAAAAAAANAAsAAAAAAAAAAAAMAAkAAAAEAAQAAAAOAA4AAAACAAIAAAANAA4AAAAAAAIAAAAMABAAAAAEAAQAAAAWAAsAAAACAAIAAAAVAAsAAAAAAAIAAAAVAAoAAAAAAAAAAAAWAAoAAAACAAAAAAATAAkAAAACAAQAAAASAAkAAAABAAQAAAARAAkAAAAAAAQAAAASAAsAAQAAAAAAAAANAAoAAQAAAAAAAAATAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAWAAkAAgAAAAEAAAAWAAgAAgAAAAAAAAAHAA0AAAAAAAIAAAAIAA0AAAABAAIAAAAJAA0AAAABAAIAAAAKAA0AAAAHAAAAAAAKAA4AAAAAAAIAAAALAA4AAAACAAIAAAAMAA0AAAABAAIAAAANAA0AAAAHAAAAAAAOAA0AAAAGAAAAAAAPAA0AAAABAAIAAAAQAA0AAAABAAIAAAARAA0AAAABAAIAAAASAA0AAAABAAIAAAATAA0AAAABAAIAAAAUAA0AAAACAAIAAAAUAAwAAAACAAAAAAATAAwAAAABAAAAAAASAAwAAAABAAAAAAAQAAwAAAABAAAAAAAPAAwAAAABAAAAAAAOAAwAAAAGAAEAAAANAAwAAAAHAAEAAAAMAAwAAAABAAAAAAALAA0AAAAGAAAAAAALAAwAAAABAAAAAAAKAAwAAAABAAAAAAAJAAwAAAABAAAAAAAIAAwAAAABAAAAAAAHAAwAAAAAAAAAAAARAAwAAAABAAAAAAA=")
 | 
					tile_map_data = PackedByteArray("AAAOAAsAAAABAAAAAAANAAsAAAAGAAQAAAAMAAkAAAAEAAQAAAAOAA4AAAACAAIAAAANAA4AAAAAAAIAAAAMABAAAAAEAAQAAAAWAAsAAAACAAIAAAAVAAsAAAAAAAIAAAAVAAoAAAAAAAAAAAAWAAoAAAACAAAAAAATAAkAAAACAAQAAAASAAkAAAAAAAQAAAASAAsAAQAAAAAAAAANAAoAAAAEAAAAAAATAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAWAAkAAgAAAAEAAAAWAAgAAgAAAAAAAAAHAA0AAAAAAAIAAAAIAA0AAAABAAIAAAAJAA0AAAABAAIAAAAKAA0AAAAHAAAAAAAKAA4AAAAAAAIAAAALAA4AAAACAAIAAAAMAA0AAAABAAIAAAANAA0AAAAHAAAAAAAOAA0AAAAGAAAAAAAPAA0AAAABAAIAAAAQAA0AAAABAAIAAAARAA0AAAABAAIAAAASAA0AAAABAAIAAAATAA0AAAABAAIAAAAUAA0AAAACAAIAAAAUAAwAAAACAAAAAAATAAwAAAABAAAAAAASAAwAAAABAAAAAAAQAAwAAAAGAAEAAAAPAAwAAAABAAEAAAAOAAwAAAABAAEAAAANAAwAAAAHAAEAAAAMAAwAAAABAAAAAAALAA0AAAAGAAAAAAALAAwAAAABAAAAAAAKAAwAAAABAAAAAAAJAAwAAAABAAAAAAAIAAwAAAABAAAAAAAHAAwAAAAAAAAAAAARAAwAAAABAAAAAAAPAAsAAAABAAAAAAAQAAsAAAACAAAAAAA=")
 | 
				
			||||||
tile_set = SubResource("TileSet_0tnpc")
 | 
					tile_set = SubResource("TileSet_0tnpc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
					[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
				
			||||||
@ -475,8 +474,13 @@ position = Vector2(563, 364)
 | 
				
			|||||||
[node name="Coin" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
					[node name="Coin" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
				
			||||||
position = Vector2(606, 375)
 | 
					position = Vector2(606, 375)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Coin2" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
					 | 
				
			||||||
position = Vector2(395, 282)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[node name="Coin3" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
					[node name="Coin3" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
				
			||||||
position = Vector2(703, 313)
 | 
					position = Vector2(630, 375)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Coin4" parent="coins" instance=ExtResource("11_kvpfn")]
 | 
				
			||||||
 | 
					position = Vector2(630, 375)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="enemies" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Slime" parent="enemies" instance=ExtResource("11_dinhu")]
 | 
				
			||||||
 | 
					position = Vector2(467, 343)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										474
									
								
								scenes/level2.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										474
									
								
								scenes/level2.tscn
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,474 @@
 | 
				
			|||||||
 | 
					[gd_scene load_steps=17 format=4 uid="uid://do0fr2w6ennxd"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Script" uid="uid://d1daji4xwuj03" path="res://scripts/scene_manager.gd" id="1_bo4dx"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://s14ukqbx5mtf" path="res://assets/graphics/environment/backgrounds/sky.png" id="2_76toy"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://l4a5qfhhue26" path="res://assets/graphics/environment/backgrounds/forestbackground.png" id="3_8g4ke"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://dv63a7rb24ob8" path="res://assets/graphics/environment/backgrounds/trees.png" id="4_56gwk"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://bqe3w5v76lyek" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="5_ve5ok"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://dvn642wmhcrfc" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="6_cleqw"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://cy0lgun8t11xv" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="7_wvb8j"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://dlihpyr58tqqq" path="res://scenes/crate.tscn" id="8_g8vcy"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://boqg1nyudmkh4" path="res://scenes/player.tscn" id="9_cqal4"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://bfvm14fearqvq" path="res://scenes/coin.tscn" id="10_o3sye"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
 | 
				
			||||||
 | 
					texture = ExtResource("5_ve5ok")
 | 
				
			||||||
 | 
					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, 0.526663, -1.31666, -0.26333, -1.84332, 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, -0.26333, -16, 0)
 | 
				
			||||||
 | 
					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, -0.789993, 16, -0.26873, -0.129454, -16, 0)
 | 
				
			||||||
 | 
					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/left_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/right_side = 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, 1.31666, -16, 1.05332, 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
 | 
				
			||||||
 | 
					1:1/0/terrain_set = 0
 | 
				
			||||||
 | 
					1:1/0/terrain = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_right_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_left_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_left_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_right_corner = 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(-1.31666, -16, 16, -16, 16, 16, -0.789993, 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/left_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/left_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_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, 3.94997, 16, 16, -16, 16, -16, -16, 1.31666, -16, 0.789993, 3.68664)
 | 
				
			||||||
 | 
					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, 1.84332, 16, 16, -16, 16, -16, 1.57999)
 | 
				
			||||||
 | 
					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(-1.31666, -16, 16, -16, 16, 16, -16, 16, -16, 1.57999, 0.526663, 1.84332)
 | 
				
			||||||
 | 
					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, -16, -16, 0.26333, -16, 0.789993, 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(1.31666, 16, 1.31666, -16, 16, -16, 16, 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, 0.526663, -16, -16, 16, -16, 16, -0.26333)
 | 
				
			||||||
 | 
					9:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					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/terrain = 0
 | 
				
			||||||
 | 
					10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0.526663, -16, -16, 16, -16, 16, -0.26333)
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/bottom_right_corner = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					12:3/0 = 0
 | 
				
			||||||
 | 
					12:3/0/terrain_set = 0
 | 
				
			||||||
 | 
					12:3/0/terrain = 0
 | 
				
			||||||
 | 
					12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/top_side = 0
 | 
				
			||||||
 | 
					13:3/0 = 0
 | 
				
			||||||
 | 
					13:3/0/terrain_set = 0
 | 
				
			||||||
 | 
					13:3/0/terrain = 0
 | 
				
			||||||
 | 
					13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					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_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/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, -6.58328, 16, -16, 5.26662)
 | 
				
			||||||
 | 
					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, 7.37327, 7.6366, 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, -16, -16, 0.26333, -16, 0.789993, 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(1.31666, 16, 1.31666, -16, 16, -16, 16, 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, 16, -16, 1.05333, 16, 0.526663, 16, 16)
 | 
				
			||||||
 | 
					9:4/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					9:4/0/terrains_peering_bit/left_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/terrain = 0
 | 
				
			||||||
 | 
					10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, 1.05333, 16, 0.526663, 16, 16)
 | 
				
			||||||
 | 
					10:4/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					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/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					13:4/0/terrain_set = 0
 | 
				
			||||||
 | 
					13:4/0/terrain = 0
 | 
				
			||||||
 | 
					13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/top_side = 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="TileSetAtlasSource" id="TileSetAtlasSource_dinhu"]
 | 
				
			||||||
 | 
					texture = ExtResource("6_cleqw")
 | 
				
			||||||
 | 
					texture_region_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					0:0/0 = 0
 | 
				
			||||||
 | 
					0:0/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:0/0/terrain = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvuet"]
 | 
				
			||||||
 | 
					texture = ExtResource("7_wvb8j")
 | 
				
			||||||
 | 
					texture_region_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					0:0/0 = 0
 | 
				
			||||||
 | 
					0:0/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:0/0/terrains_peering_bit/bottom_side = 1
 | 
				
			||||||
 | 
					0:1/0 = 0
 | 
				
			||||||
 | 
					0:1/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:1/0/terrain = 1
 | 
				
			||||||
 | 
					0:1/0/terrains_peering_bit/top_side = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSet" id="TileSet_0tnpc"]
 | 
				
			||||||
 | 
					tile_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					physics_layer_0/collision_layer = 1
 | 
				
			||||||
 | 
					terrain_set_0/mode = 0
 | 
				
			||||||
 | 
					terrain_set_0/terrain_0/name = "leafydirt"
 | 
				
			||||||
 | 
					terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
 | 
				
			||||||
 | 
					terrain_set_0/terrain_1/name = "veg"
 | 
				
			||||||
 | 
					terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
 | 
				
			||||||
 | 
					sources/0 = SubResource("TileSetAtlasSource_gee14")
 | 
				
			||||||
 | 
					sources/1 = SubResource("TileSetAtlasSource_dinhu")
 | 
				
			||||||
 | 
					sources/2 = SubResource("TileSetAtlasSource_kvuet")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"]
 | 
				
			||||||
 | 
					size = Vector2(44, 20)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="game" type="Node2D"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="SceneManager" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					unique_name_in_owner = true
 | 
				
			||||||
 | 
					script = ExtResource("1_bo4dx")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="skylayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 180)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="skylayer"]
 | 
				
			||||||
 | 
					position = Vector2(160, 90)
 | 
				
			||||||
 | 
					texture = ExtResource("2_76toy")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="farlayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					scroll_scale = Vector2(1.2, 1)
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="farlayer"]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(160, 320)
 | 
				
			||||||
 | 
					texture = ExtResource("3_8g4ke")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Midlayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					scroll_scale = Vector2(1.4, 1)
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="Midlayer"]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(160, 330)
 | 
				
			||||||
 | 
					texture = ExtResource("4_56gwk")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="TileMapLayer" type="TileMapLayer" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					tile_map_data = PackedByteArray("AAAOAAsAAAACAAAAAAANAAsAAAAAAAAAAAAMAAkAAAAEAAQAAAAOAA4AAAACAAIAAAANAA4AAAAAAAIAAAAMABAAAAAEAAQAAAAWAAsAAAACAAIAAAAVAAsAAAAAAAIAAAAVAAoAAAAAAAAAAAAWAAoAAAACAAAAAAATAAkAAAACAAQAAAASAAkAAAABAAQAAAARAAkAAAAAAAQAAAASAAsAAQAAAAAAAAANAAoAAQAAAAAAAAATAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAWAAkAAgAAAAEAAAAWAAgAAgAAAAAAAAAHAA0AAAAAAAIAAAAIAA0AAAABAAIAAAAJAA0AAAABAAIAAAAKAA0AAAAHAAAAAAAKAA4AAAAAAAIAAAALAA4AAAACAAIAAAAMAA0AAAABAAIAAAANAA0AAAAHAAAAAAAOAA0AAAAGAAAAAAAPAA0AAAABAAIAAAAQAA0AAAABAAIAAAARAA0AAAABAAIAAAASAA0AAAABAAIAAAATAA0AAAABAAIAAAAUAA0AAAACAAIAAAAUAAwAAAACAAAAAAATAAwAAAABAAAAAAASAAwAAAABAAAAAAAQAAwAAAABAAAAAAAPAAwAAAABAAAAAAAOAAwAAAAGAAEAAAANAAwAAAAHAAEAAAAMAAwAAAABAAAAAAALAA0AAAAGAAAAAAALAAwAAAABAAAAAAAKAAwAAAABAAAAAAAJAAwAAAABAAAAAAAIAAwAAAABAAAAAAAHAAwAAAAAAAAAAAARAAwAAAABAAAAAAA=")
 | 
				
			||||||
 | 
					tile_set = SubResource("TileSet_0tnpc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(743, 490)
 | 
				
			||||||
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
 | 
				
			||||||
 | 
					shape = SubResource("RectangleShape2D_8cj0n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Crate" parent="." instance=ExtResource("8_g8vcy")]
 | 
				
			||||||
 | 
					position = Vector2(575, 221)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="ground" type="StaticBody2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(551, 565)
 | 
				
			||||||
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="ground"]
 | 
				
			||||||
 | 
					shape = SubResource("WorldBoundaryShape2D_8cj0n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Player" parent="." instance=ExtResource("9_cqal4")]
 | 
				
			||||||
 | 
					position = Vector2(563, 364)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="triggers" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="coins" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Coin3" parent="coins" instance=ExtResource("10_o3sye")]
 | 
				
			||||||
 | 
					position = Vector2(630, 375)
 | 
				
			||||||
							
								
								
									
										480
									
								
								scenes/level3.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										480
									
								
								scenes/level3.tscn
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,480 @@
 | 
				
			|||||||
 | 
					[gd_scene load_steps=17 format=4 uid="uid://bw434ov6gqfr3"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Script" uid="uid://d1daji4xwuj03" path="res://scripts/scene_manager.gd" id="1_6qt4k"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://s14ukqbx5mtf" path="res://assets/graphics/environment/backgrounds/sky.png" id="2_fh4ka"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://l4a5qfhhue26" path="res://assets/graphics/environment/backgrounds/forestbackground.png" id="3_qewby"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://dv63a7rb24ob8" path="res://assets/graphics/environment/backgrounds/trees.png" id="4_bradm"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://bqe3w5v76lyek" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="5_got4s"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://dvn642wmhcrfc" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="6_e40mx"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://cy0lgun8t11xv" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="7_a114e"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://dlihpyr58tqqq" path="res://scenes/crate.tscn" id="8_y1e0c"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://boqg1nyudmkh4" path="res://scenes/player.tscn" id="9_s4dsi"]
 | 
				
			||||||
 | 
					[ext_resource type="PackedScene" uid="uid://bfvm14fearqvq" path="res://scenes/coin.tscn" id="10_07lh1"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
 | 
				
			||||||
 | 
					texture = ExtResource("5_got4s")
 | 
				
			||||||
 | 
					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, 0.526663, -1.31666, -0.26333, -1.84332, 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, -0.26333, -16, 0)
 | 
				
			||||||
 | 
					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, -0.789993, 16, -0.26873, -0.129454, -16, 0)
 | 
				
			||||||
 | 
					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/left_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/right_side = 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, 1.31666, -16, 1.05332, 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
 | 
				
			||||||
 | 
					1:1/0/terrain_set = 0
 | 
				
			||||||
 | 
					1:1/0/terrain = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_right_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/bottom_left_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_left_corner = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_side = 0
 | 
				
			||||||
 | 
					1:1/0/terrains_peering_bit/top_right_corner = 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(-1.31666, -16, 16, -16, 16, 16, -0.789993, 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/left_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/left_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_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, 3.94997, 16, 16, -16, 16, -16, -16, 1.31666, -16, 0.789993, 3.68664)
 | 
				
			||||||
 | 
					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, 1.84332, 16, 16, -16, 16, -16, 1.57999)
 | 
				
			||||||
 | 
					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(-1.31666, -16, 16, -16, 16, 16, -16, 16, -16, 1.57999, 0.526663, 1.84332)
 | 
				
			||||||
 | 
					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, -16, -16, 0.26333, -16, 0.789993, 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(1.31666, 16, 1.31666, -16, 16, -16, 16, 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, 0.526663, -16, -16, 16, -16, 16, -0.26333)
 | 
				
			||||||
 | 
					9:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					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/terrain = 0
 | 
				
			||||||
 | 
					10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0.526663, -16, -16, 16, -16, 16, -0.26333)
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/bottom_right_corner = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					10:3/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					12:3/0 = 0
 | 
				
			||||||
 | 
					12:3/0/terrain_set = 0
 | 
				
			||||||
 | 
					12:3/0/terrain = 0
 | 
				
			||||||
 | 
					12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					12:3/0/terrains_peering_bit/top_side = 0
 | 
				
			||||||
 | 
					13:3/0 = 0
 | 
				
			||||||
 | 
					13:3/0/terrain_set = 0
 | 
				
			||||||
 | 
					13:3/0/terrain = 0
 | 
				
			||||||
 | 
					13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					13:3/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					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_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/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, -6.58328, 16, -16, 5.26662)
 | 
				
			||||||
 | 
					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, 7.37327, 7.6366, 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, -16, -16, 0.26333, -16, 0.789993, 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(1.31666, 16, 1.31666, -16, 16, -16, 16, 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, 16, -16, 1.05333, 16, 0.526663, 16, 16)
 | 
				
			||||||
 | 
					9:4/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					9:4/0/terrains_peering_bit/left_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/terrain = 0
 | 
				
			||||||
 | 
					10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, 1.05333, 16, 0.526663, 16, 16)
 | 
				
			||||||
 | 
					10:4/0/terrains_peering_bit/right_side = 0
 | 
				
			||||||
 | 
					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/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					13:4/0/terrain_set = 0
 | 
				
			||||||
 | 
					13:4/0/terrain = 0
 | 
				
			||||||
 | 
					13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -16, 16, -16, 16, 16)
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/bottom_side = 0
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/left_side = 0
 | 
				
			||||||
 | 
					13:4/0/terrains_peering_bit/top_side = 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="TileSetAtlasSource" id="TileSetAtlasSource_dinhu"]
 | 
				
			||||||
 | 
					texture = ExtResource("6_e40mx")
 | 
				
			||||||
 | 
					texture_region_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					0:0/0 = 0
 | 
				
			||||||
 | 
					0:0/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:0/0/terrain = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvuet"]
 | 
				
			||||||
 | 
					texture = ExtResource("7_a114e")
 | 
				
			||||||
 | 
					texture_region_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					0:0/0 = 0
 | 
				
			||||||
 | 
					0:0/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:0/0/terrains_peering_bit/bottom_side = 1
 | 
				
			||||||
 | 
					0:1/0 = 0
 | 
				
			||||||
 | 
					0:1/0/terrain_set = 0
 | 
				
			||||||
 | 
					0:1/0/terrain = 1
 | 
				
			||||||
 | 
					0:1/0/terrains_peering_bit/top_side = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="TileSet" id="TileSet_0tnpc"]
 | 
				
			||||||
 | 
					tile_size = Vector2i(32, 32)
 | 
				
			||||||
 | 
					physics_layer_0/collision_layer = 1
 | 
				
			||||||
 | 
					terrain_set_0/mode = 0
 | 
				
			||||||
 | 
					terrain_set_0/terrain_0/name = "leafydirt"
 | 
				
			||||||
 | 
					terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
 | 
				
			||||||
 | 
					terrain_set_0/terrain_1/name = "veg"
 | 
				
			||||||
 | 
					terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
 | 
				
			||||||
 | 
					sources/0 = SubResource("TileSetAtlasSource_gee14")
 | 
				
			||||||
 | 
					sources/1 = SubResource("TileSetAtlasSource_dinhu")
 | 
				
			||||||
 | 
					sources/2 = SubResource("TileSetAtlasSource_kvuet")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"]
 | 
				
			||||||
 | 
					size = Vector2(44, 20)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="game" type="Node2D"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="SceneManager" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					unique_name_in_owner = true
 | 
				
			||||||
 | 
					script = ExtResource("1_6qt4k")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="skylayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 180)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="skylayer"]
 | 
				
			||||||
 | 
					position = Vector2(160, 90)
 | 
				
			||||||
 | 
					texture = ExtResource("2_fh4ka")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="farlayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					scroll_scale = Vector2(1.2, 1)
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="farlayer"]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(160, 320)
 | 
				
			||||||
 | 
					texture = ExtResource("3_qewby")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Midlayer" type="Parallax2D" parent="."]
 | 
				
			||||||
 | 
					scroll_scale = Vector2(1.4, 1)
 | 
				
			||||||
 | 
					repeat_size = Vector2(320, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Sprite2D" type="Sprite2D" parent="Midlayer"]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(160, 330)
 | 
				
			||||||
 | 
					texture = ExtResource("4_bradm")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="TileMapLayer" type="TileMapLayer" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					tile_map_data = PackedByteArray("AAAOAAsAAAACAAAAAAANAAsAAAAAAAAAAAAMAAkAAAAEAAQAAAAOAA4AAAACAAIAAAANAA4AAAAAAAIAAAAMABAAAAAEAAQAAAAWAAsAAAACAAIAAAAVAAsAAAAAAAIAAAAVAAoAAAAAAAAAAAAWAAoAAAACAAAAAAATAAkAAAACAAQAAAASAAkAAAABAAQAAAARAAkAAAAAAAQAAAASAAsAAQAAAAAAAAANAAoAAQAAAAAAAAATAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAWAAkAAgAAAAEAAAAWAAgAAgAAAAAAAAAHAA0AAAAAAAIAAAAIAA0AAAABAAIAAAAJAA0AAAABAAIAAAAKAA0AAAAHAAAAAAAKAA4AAAAAAAIAAAALAA4AAAACAAIAAAAMAA0AAAABAAIAAAANAA0AAAAHAAAAAAAOAA0AAAAGAAAAAAAPAA0AAAABAAIAAAAQAA0AAAABAAIAAAARAA0AAAABAAIAAAASAA0AAAABAAIAAAATAA0AAAABAAIAAAAUAA0AAAACAAIAAAAUAAwAAAACAAAAAAATAAwAAAABAAAAAAASAAwAAAABAAAAAAAQAAwAAAABAAAAAAAPAAwAAAABAAAAAAAOAAwAAAAGAAEAAAANAAwAAAAHAAEAAAAMAAwAAAABAAAAAAALAA0AAAAGAAAAAAALAAwAAAABAAAAAAAKAAwAAAABAAAAAAAJAAwAAAABAAAAAAAIAAwAAAABAAAAAAAHAAwAAAAAAAAAAAARAAwAAAABAAAAAAA=")
 | 
				
			||||||
 | 
					tile_set = SubResource("TileSet_0tnpc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="StaticBody2D" type="StaticBody2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(743, 490)
 | 
				
			||||||
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
 | 
				
			||||||
 | 
					shape = SubResource("RectangleShape2D_8cj0n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Crate" parent="." instance=ExtResource("8_y1e0c")]
 | 
				
			||||||
 | 
					position = Vector2(575, 221)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="ground" type="StaticBody2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(551, 565)
 | 
				
			||||||
 | 
					metadata/_edit_group_ = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="ground"]
 | 
				
			||||||
 | 
					shape = SubResource("WorldBoundaryShape2D_8cj0n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Player" parent="." instance=ExtResource("9_s4dsi")]
 | 
				
			||||||
 | 
					position = Vector2(563, 364)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="triggers" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="coins" type="Node2D" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Coin" parent="coins" instance=ExtResource("10_07lh1")]
 | 
				
			||||||
 | 
					position = Vector2(606, 375)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Coin2" parent="coins" instance=ExtResource("10_07lh1")]
 | 
				
			||||||
 | 
					position = Vector2(529, 376)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Coin3" parent="coins" instance=ExtResource("10_07lh1")]
 | 
				
			||||||
 | 
					position = Vector2(630, 375)
 | 
				
			||||||
							
								
								
									
										73
									
								
								scenes/slime.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								scenes/slime.tscn
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					[gd_scene load_steps=9 format=3 uid="uid://dpltbyp8ku2mi"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Script" uid="uid://cuaxw7eh73a1i" path="res://scripts/slime.gd" id="1_p2gj0"]
 | 
				
			||||||
 | 
					[ext_resource type="Texture2D" uid="uid://dwwlva8pi3da2" path="res://assets/graphics/enemies/slime_purple (1).png" id="2_n6pvg"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="CircleShape2D" id="CircleShape2D_pjw23"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_2npkn"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_n6pvg")
 | 
				
			||||||
 | 
					region = Rect2(0, 24, 24, 24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_fd6lc"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_n6pvg")
 | 
				
			||||||
 | 
					region = Rect2(24, 24, 24, 24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_gstla"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_n6pvg")
 | 
				
			||||||
 | 
					region = Rect2(48, 24, 24, 24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="AtlasTexture" id="AtlasTexture_v5wyi"]
 | 
				
			||||||
 | 
					atlas = ExtResource("2_n6pvg")
 | 
				
			||||||
 | 
					region = Rect2(72, 24, 24, 24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sub_resource type="SpriteFrames" id="SpriteFrames_0l8pv"]
 | 
				
			||||||
 | 
					animations = [{
 | 
				
			||||||
 | 
					"frames": [{
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_2npkn")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_fd6lc")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_gstla")
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"duration": 1.0,
 | 
				
			||||||
 | 
					"texture": SubResource("AtlasTexture_v5wyi")
 | 
				
			||||||
 | 
					}],
 | 
				
			||||||
 | 
					"loop": true,
 | 
				
			||||||
 | 
					"name": &"default",
 | 
				
			||||||
 | 
					"speed": 12.0
 | 
				
			||||||
 | 
					}]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="Slime" type="Area2D"]
 | 
				
			||||||
 | 
					script = ExtResource("1_p2gj0")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 | 
				
			||||||
 | 
					scale = Vector2(0.9, 0.9)
 | 
				
			||||||
 | 
					shape = SubResource("CircleShape2D_pjw23")
 | 
				
			||||||
 | 
					debug_color = Color(0.932998, 0.222862, 0.34393, 0.42)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="SlimeGraphic" type="AnimatedSprite2D" parent="."]
 | 
				
			||||||
 | 
					texture_filter = 1
 | 
				
			||||||
 | 
					position = Vector2(0, -3)
 | 
				
			||||||
 | 
					sprite_frames = SubResource("SpriteFrames_0l8pv")
 | 
				
			||||||
 | 
					autoplay = "default"
 | 
				
			||||||
 | 
					frame_progress = 0.665587
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="RightCast" type="RayCast2D" parent="."]
 | 
				
			||||||
 | 
					target_position = Vector2(13, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="LeftCast" type="RayCast2D" parent="."]
 | 
				
			||||||
 | 
					target_position = Vector2(-14, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="LeftDownCast" type="RayCast2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(-8, 0)
 | 
				
			||||||
 | 
					target_position = Vector2(0, 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="RightDownCast" type="RayCast2D" parent="."]
 | 
				
			||||||
 | 
					position = Vector2(8, 0)
 | 
				
			||||||
 | 
					target_position = Vector2(0, 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[connection signal="body_entered" from="." to="." method="_on_body_entered"]
 | 
				
			||||||
@ -4,4 +4,5 @@ signal coinCollectedSignal(body, coin)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func _on_body_entered(body: Node2D) -> void:
 | 
					func _on_body_entered(body: Node2D) -> void:
 | 
				
			||||||
	print("coin collision")
 | 
						print("coin collision")
 | 
				
			||||||
 | 
						if body is Player:
 | 
				
			||||||
		coinCollectedSignal.emit(body, self)
 | 
							coinCollectedSignal.emit(body, self)
 | 
				
			||||||
@ -1,10 +1,42 @@
 | 
				
			|||||||
extends Node2D
 | 
					extends Node2D
 | 
				
			||||||
 | 
					
 | 
				
			||||||
signal playerDamage
 | 
					signal playerDamage
 | 
				
			||||||
 | 
					signal destroySignal(body)
 | 
				
			||||||
 | 
					signal levelChangeSignal(level)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var timer = Timer.new()
 | 
				
			||||||
 | 
					var timeAvailable:int = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var levels = ["res://scenes/game.tscn","res://scenes/level2.tscn","res://scenes/level3.tscn"]
 | 
				
			||||||
 | 
					var timers = [15,10,9]
 | 
				
			||||||
 | 
					var currentLevel = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#character stats
 | 
				
			||||||
 | 
					var enemy:CharacterStats
 | 
				
			||||||
 | 
					var player:CharacterStats
 | 
				
			||||||
 | 
					var playerCurrentHealth:int
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Called when the node enters the scene tree for the first time.
 | 
					# Called when the node enters the scene tree for the first time.
 | 
				
			||||||
func _ready() -> void:
 | 
					func _ready() -> void:
 | 
				
			||||||
	pass # Replace with function body.
 | 
						enemy = load("res://scripts/rscs/slimeStats.tres")
 | 
				
			||||||
 | 
						player = load("res://scripts/rscs/playerStats.tres")
 | 
				
			||||||
 | 
						playerCurrentHealth = player.starting_health
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						add_child(timer)
 | 
				
			||||||
 | 
						timer.wait_time = 1
 | 
				
			||||||
 | 
						timer.one_shot = false
 | 
				
			||||||
 | 
						timer.connect("timeout", secondCounter)
 | 
				
			||||||
 | 
						timer.start()
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					func reset():
 | 
				
			||||||
 | 
						timeAvailable = timers[currentLevel]
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					func secondCounter():
 | 
				
			||||||
 | 
						timeAvailable -=1
 | 
				
			||||||
 | 
						#check for time running out
 | 
				
			||||||
 | 
						if timeAvailable <=0:
 | 
				
			||||||
 | 
							print("You lose")
 | 
				
			||||||
 | 
							levelChangeSignal.emit(levels[currentLevel])
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
					# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
				
			||||||
func _process(delta: float) -> void:
 | 
					func _process(delta: float) -> void:
 | 
				
			||||||
@ -18,8 +50,8 @@ func _on_trigger(effect: Variant, body: Variant) -> void:
 | 
				
			|||||||
			if body is Player:
 | 
								if body is Player:
 | 
				
			||||||
				print("hurt the player")
 | 
									print("hurt the player")
 | 
				
			||||||
				playerDamage.emit()
 | 
									playerDamage.emit()
 | 
				
			||||||
	if not body is Player:
 | 
						#if not body is Player:
 | 
				
			||||||
		body.queue_free()
 | 
						#	body.queue_free()
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
func bulletDamage(body, bullet):
 | 
					func bulletDamage(body, bullet):
 | 
				
			||||||
	print("GC know about bullet hit")
 | 
						print("GC know about bullet hit")
 | 
				
			||||||
@ -27,4 +59,21 @@ func bulletDamage(body, bullet):
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
func coinCollected(body, coin):
 | 
					func coinCollected(body, coin):
 | 
				
			||||||
	print("GC knows coin collected")
 | 
						print("GC knows coin collected")
 | 
				
			||||||
 | 
						destroySignal.emit(coin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func totalCoinCount(count):
 | 
				
			||||||
 | 
						print("GC knows total coins "+str(count))
 | 
				
			||||||
 | 
						if count == 0:
 | 
				
			||||||
 | 
							currentLevel +=1
 | 
				
			||||||
 | 
							if currentLevel >= levels.size():
 | 
				
			||||||
 | 
								currentLevel = 0
 | 
				
			||||||
 | 
							levelChangeSignal.emit(levels[currentLevel])
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					func playerAttacked(body, slime):
 | 
				
			||||||
 | 
						print("GC knows slime attack")
 | 
				
			||||||
 | 
						print("Damge : "+str(enemy.meleeDamage) )
 | 
				
			||||||
 | 
						print("Player health : "+str(playerCurrentHealth))
 | 
				
			||||||
 | 
						playerCurrentHealth -= enemy.meleeDamage
 | 
				
			||||||
 | 
						if playerCurrentHealth <=0:
 | 
				
			||||||
 | 
							print("YOU DEAD")
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										9
									
								
								scripts/rscs/characterstats.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								scripts/rscs/characterstats.gd
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					class_name CharacterStats extends Resource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@export var health:int = 100
 | 
				
			||||||
 | 
					@export var max_health: int =100
 | 
				
			||||||
 | 
					@export var starting_health:int = 100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# damage dealing
 | 
				
			||||||
 | 
					@export var meleeDamage:int = 10
 | 
				
			||||||
 | 
					@export var rangeDamage:int = 0
 | 
				
			||||||
							
								
								
									
										1
									
								
								scripts/rscs/characterstats.gd.uid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								scripts/rscs/characterstats.gd.uid
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					uid://r408skwtvisy
 | 
				
			||||||
							
								
								
									
										12
									
								
								scripts/rscs/playerStats.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								scripts/rscs/playerStats.tres
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://bff0fewekswn"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Script" uid="uid://r408skwtvisy" path="res://scripts/rscs/characterstats.gd" id="1_sqkfu"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[resource]
 | 
				
			||||||
 | 
					script = ExtResource("1_sqkfu")
 | 
				
			||||||
 | 
					health = 100
 | 
				
			||||||
 | 
					max_health = 100
 | 
				
			||||||
 | 
					starting_health = 100
 | 
				
			||||||
 | 
					meleeDamage = 10
 | 
				
			||||||
 | 
					rangeDamage = 0
 | 
				
			||||||
 | 
					metadata/_custom_type_script = "uid://r408skwtvisy"
 | 
				
			||||||
							
								
								
									
										12
									
								
								scripts/rscs/slimeStats.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								scripts/rscs/slimeStats.tres
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://r5hx4gu0mtog"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ext_resource type="Script" uid="uid://r408skwtvisy" path="res://scripts/rscs/characterstats.gd" id="1_ppipo"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[resource]
 | 
				
			||||||
 | 
					script = ExtResource("1_ppipo")
 | 
				
			||||||
 | 
					health = 100
 | 
				
			||||||
 | 
					max_health = 100
 | 
				
			||||||
 | 
					starting_health = 100
 | 
				
			||||||
 | 
					meleeDamage = 25
 | 
				
			||||||
 | 
					rangeDamage = 0
 | 
				
			||||||
 | 
					metadata/_custom_type_script = "uid://r408skwtvisy"
 | 
				
			||||||
@ -2,21 +2,47 @@ class_name SceneManager extends Node2D
 | 
				
			|||||||
var bulletArray =[]
 | 
					var bulletArray =[]
 | 
				
			||||||
var totalAllowedBullets = 7
 | 
					var totalAllowedBullets = 7
 | 
				
			||||||
var bullet = preload("res://scenes/bullet.tscn")
 | 
					var bullet = preload("res://scenes/bullet.tscn")
 | 
				
			||||||
@onready var game: Node2D = $".."
 | 
					 | 
				
			||||||
@onready var triggers: Node2D = $"../triggers"
 | 
					@onready var triggers: Node2D = $"../triggers"
 | 
				
			||||||
@onready var coins: Node2D = $"../coins"
 | 
					@onready var coins: Node2D = $"../coins"
 | 
				
			||||||
 | 
					@onready var enemies: Node2D = $"../enemies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Called when the node enters the scene tree for the first time.
 | 
					# Called when the node enters the scene tree for the first time.
 | 
				
			||||||
func _ready() -> void:
 | 
					func _ready() -> void:
 | 
				
			||||||
 | 
						Gamecontroller.reset()
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	if triggers:
 | 
						if triggers:
 | 
				
			||||||
		for obj in triggers.get_children():
 | 
							for obj in triggers.get_children():
 | 
				
			||||||
			if obj is Trigger:
 | 
								if obj is Trigger:
 | 
				
			||||||
				obj.areaTriggerSignal.connect(game._on_trigger)
 | 
									obj.areaTriggerSignal.connect(Gamecontroller._on_trigger)
 | 
				
			||||||
	if coins:
 | 
						if coins:
 | 
				
			||||||
 | 
							updateCoins()
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						if enemies:
 | 
				
			||||||
 | 
							updateEnemies()
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
						Gamecontroller.destroySignal.connect(destroy)
 | 
				
			||||||
 | 
						Gamecontroller.levelChangeSignal.connect(changeScene)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func updateEnemies():
 | 
				
			||||||
 | 
						for obj in enemies.get_children():
 | 
				
			||||||
 | 
							if obj is Slime:
 | 
				
			||||||
 | 
								if not obj.playerDamageSignal.is_connected(Gamecontroller.playerAttacked):
 | 
				
			||||||
 | 
									obj.playerDamageSignal.connect(Gamecontroller.playerAttacked)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					func updateCoins():
 | 
				
			||||||
 | 
						var coinCount = 0
 | 
				
			||||||
	for obj in coins.get_children():
 | 
						for obj in coins.get_children():
 | 
				
			||||||
			if obj is Coin:
 | 
								if obj is Coin:
 | 
				
			||||||
				obj.coinCollectedSignal.connect(game.coinCollected)
 | 
									if not obj.coinCollectedSignal.is_connected(Gamecontroller.coinCollected):
 | 
				
			||||||
 | 
										obj.coinCollectedSignal.connect(Gamecontroller.coinCollected)
 | 
				
			||||||
 | 
									#connect tree exit
 | 
				
			||||||
 | 
									if not obj.tree_exited.is_connected(updateCoins):
 | 
				
			||||||
 | 
										obj.tree_exited.connect(updateCoins)
 | 
				
			||||||
 | 
									coinCount +=1
 | 
				
			||||||
 | 
						Gamecontroller.totalCoinCount(coinCount)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
					# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
				
			||||||
func _process(delta: float) -> void:
 | 
					func _process(delta: float) -> void:
 | 
				
			||||||
@ -28,7 +54,7 @@ func bulletFactory():
 | 
				
			|||||||
	if bulletArray.size() < totalAllowedBullets:
 | 
						if bulletArray.size() < totalAllowedBullets:
 | 
				
			||||||
		#make a new bullet
 | 
							#make a new bullet
 | 
				
			||||||
		myBullet = bullet.instantiate()
 | 
							myBullet = bullet.instantiate()
 | 
				
			||||||
		myBullet.bulletDamageSignal.connect(game.bulletDamage)
 | 
							myBullet.bulletDamageSignal.connect(Gamecontroller.bulletDamage)
 | 
				
			||||||
		owner.add_child(myBullet)
 | 
							owner.add_child(myBullet)
 | 
				
			||||||
	else:
 | 
						else:
 | 
				
			||||||
		myBullet = bulletArray.pop_back()
 | 
							myBullet = bulletArray.pop_back()
 | 
				
			||||||
@ -41,3 +67,8 @@ func makeBullet(position, speed):
 | 
				
			|||||||
	someBullet.setSpeed(speed)
 | 
						someBullet.setSpeed(speed)
 | 
				
			||||||
	# postition the bullet
 | 
						# postition the bullet
 | 
				
			||||||
	someBullet.transform = position
 | 
						someBullet.transform = position
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					func destroy(body):
 | 
				
			||||||
 | 
						body.queue_free()
 | 
				
			||||||
 | 
					func changeScene(level):
 | 
				
			||||||
 | 
						get_tree().call_deferred("change_scene_to_file", level)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										34
									
								
								scripts/slime.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								scripts/slime.gd
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					class_name Slime extends Area2D
 | 
				
			||||||
 | 
					@onready var slime_graphic: AnimatedSprite2D = $SlimeGraphic
 | 
				
			||||||
 | 
					@onready var right_cast: RayCast2D = $RightCast
 | 
				
			||||||
 | 
					@onready var left_cast: RayCast2D = $LeftCast
 | 
				
			||||||
 | 
					@onready var left_down_cast: RayCast2D = $LeftDownCast
 | 
				
			||||||
 | 
					@onready var right_down_cast: RayCast2D = $RightDownCast
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var speed:int = 100
 | 
				
			||||||
 | 
					var direction = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signal playerDamageSignal(body, slime)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Called when the node enters the scene tree for the first time.
 | 
				
			||||||
 | 
					func _ready() -> void:
 | 
				
			||||||
 | 
						pass # Replace with function body.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Called every frame. 'delta' is the elapsed time since the previous frame.
 | 
				
			||||||
 | 
					func _process(delta: float) -> void:
 | 
				
			||||||
 | 
						if not right_down_cast.is_colliding():
 | 
				
			||||||
 | 
							direction = -1
 | 
				
			||||||
 | 
							slime_graphic.flip_h = true
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						if not left_down_cast.is_colliding():
 | 
				
			||||||
 | 
							direction = 1
 | 
				
			||||||
 | 
							slime_graphic.flip_h = false
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						position.x += direction * speed * delta
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _on_body_entered(body: Node2D) -> void:
 | 
				
			||||||
 | 
						if body is Player:
 | 
				
			||||||
 | 
							print("Slime attack!")
 | 
				
			||||||
 | 
							playerDamageSignal.emit(body, self)
 | 
				
			||||||
							
								
								
									
										1
									
								
								scripts/slime.gd.uid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								scripts/slime.gd.uid
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					uid://cuaxw7eh73a1i
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user