diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index f61796e..253efb2 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -354,36 +354,85 @@ func execute_airstrafe( air_strafe_charges -= 1 return linear_velocity +var snapped = false func execute_movement() -> void: if(GlobalState.is_dead): return - var colliding_ray_number = 0 - var target_angle = 0 - var rotation_point: Vector2 - if(is_on_floor()): - for raycast in $SlopeRaycasts.get_children(): - if(raycast.is_colliding()): - colliding_ray_number += 1 - var collision_normal = raycast.get_collision_normal() - target_angle += Vector2.UP.angle_to(collision_normal) - target_angle = rotation + target_angle/max(colliding_ray_number,1) - rotation_point = sign(target_angle) * Vector2($BlobbyBody.shape.extents.x + $BlobbyBody.to_local(position).x, 0) - print(rotation_point) - if(target_angle == 0 || colliding_ray_number < 2): - rotation = 0 - velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + var snap = Vector2.DOWN * 128 + var center_floor_rot = 0 + var floor_rot = 0 + # get rotation of floor, compare collided floor with floor under center + if is_on_floor(): + # TODO: Problem when correctly rotating? + center_floor_rot = $SlopeRaycast.get_collision_normal().angle() + PI/2 + floor_rot = get_floor_normal().angle() + PI/2 + if(abs(center_floor_rot) > PI/4+0.1): + center_floor_rot = floor_rot + # snap when on slopes + if(abs(floor_rot) > 0.1 || abs(center_floor_rot) > 0.1): + velocity = move_and_slide_with_snap(velocity.rotated(floor_rot), + snap, FLOOR_NORMAL, true) + snapped = true + # normal slide on flat floor else: - velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) - var translation = rotation_point.rotated(target_angle) - rotation_point - # if(target_angle == 0): - # position.x += translation.xddddad - # position.y += translation.y - rotation = target_angle - - + if snapped == true: + print("unsnapped") + velocity = move_and_slide(velocity.rotated(floor_rot),FLOOR_NORMAL) + snapped = false + # rotate related to floor slope + var rot = calculate_slope_rotation(center_floor_rot) + # Convert velocity back to local space. + velocity = velocity.rotated(-floor_rot) +func calculate_slope_rotation(center_floor_rot: float) -> float: + var angle = 0 + # var distance_to_slope_left = abs($SlopeRaycastLeft.global_position.distance_to($SlopeRaycastLeft.get_collision_point())) + # var distance_to_slope_right = abs($SlopeRaycastRight.global_position.distance_to($SlopeRaycastRight.get_collision_point())) + # var slope_angle_left = rad2deg($SlopeRaycastLeft.get_collision_normal().rotated(PI/2).angle()) + # var slope_angle_right = rad2deg($SlopeRaycastRight.get_collision_normal().rotated(PI/2).angle()) + # if(abs(slope_angle_left - slope_angle_right) < 5): + # print("on slope") + # elif(abs(slope_angle_left) > 0 && distance_to_slope_left < distance_to_slope_right || + # abs(slope_angle_right) > 0 && distance_to_slope_right < distance_to_slope_left): + # print("upturn") + # var length_vector: Vector2 = $SlopeRaycastRight.get_collision_point() - $SlopeRaycastLeft.get_collision_point() + # angle = length_vector.angle() + # print(rad2deg(angle)) + # else: + # print("downturn") + # var length_vector: Vector2 = $SlopeRaycastRight.get_collision_point() - $SlopeRaycastLeft.get_collision_point() + # angle = length_vector.angle() + # # angle = center_floor_rot * min(1, 1.3*overhang(distance_to_slope_left, distance_to_slope_right)/$BlobbyBody.shape.extents.x) + if(player_state_machine.facing == 1): + var length_vector: Vector2 = $SlopeRaycastRight.get_collision_point() - $SlopeRaycastLeft.get_collision_point() + + angle = length_vector.angle() + print(rad2deg(angle)) + return angle + +# When Blobby is going over an edge, +# This function returns how many pixels he has gone over that edge, measured from his center +func overhang(distance_to_slope_left, distance_to_slope_right) -> float: + var distance_to_slope = abs($SlopeRaycast.global_position.distance_to($SlopeRaycast.get_collision_point())) + if(!(abs(distance_to_slope_left) > 1 || abs(distance_to_slope_right) > 1)): + distance_to_slope = max(1,distance_to_slope) + var hitbox_to_slope_vector = (global_position - $SlopeRaycast.get_collision_point()).normalized() + var angle = min(PI/2,abs(hitbox_to_slope_vector.angle_to($SlopeRaycast.get_collision_normal().rotated(PI/2)))) + var overhang = distance_to_slope * tan(angle) + overhang = $BlobbyBody.shape.extents.x if abs(overhang) > $BlobbyBody.shape.extents.x else overhang + # if(overhang < 0.6): + # print("dist to slope:") + # print(distance_to_slope) + # print("hitbox to slope vec:") + # print(hitbox_to_slope_vector) + # print("angle:") + # print(rad2deg(angle)) + # print("tan(angle):") + # print(tan(angle)) + # print("overhang:") + # print(overhang) + return abs(overhang) -#TODO Limit movement func die() -> void: z_index = 1 GlobalState.is_dead = true diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index b9a7c19..2258e1c 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -1778,7 +1778,7 @@ tracks/4/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, -"values": [ Vector2( -0.0287741, -8.97473 ) ] +"values": [ Vector2( -1, -9 ) ] } tracks/5/type = "value" tracks/5/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position") @@ -4474,7 +4474,7 @@ root_motion_track = NodePath(".") parameters/playback = SubResource( 48 ) parameters/ducking/blend_position = 1.0 parameters/falling/blend_position = 1.0 -parameters/idling/blend_position = 1.0 +parameters/idling/blend_position = 1.35307 parameters/jumpToFall/blend_position = 1.0 parameters/jumping/blend_position = 1.0 parameters/runToJump/blend_position = 1.0 @@ -4598,19 +4598,21 @@ exclude_parent = false cast_to = Vector2( 1.5, 0 ) collision_mask = 56 -[node name="SlopeRaycasts" type="Node2D" parent="."] -position = Vector2( 0, -1 ) - -[node name="SlopeRaycast" type="RayCast2D" parent="SlopeRaycasts"] -position = Vector2( 14, 0 ) +[node name="SlopeRaycastLeft" type="RayCast2D" parent="."] +position = Vector2( -9, 0 ) enabled = true -cast_to = Vector2( 0, 19 ) +cast_to = Vector2( 0, 32 ) collision_mask = 56 -[node name="SlopeRaycast2" type="RayCast2D" parent="SlopeRaycasts"] -position = Vector2( -12, 0 ) +[node name="SlopeRaycast" type="RayCast2D" parent="."] enabled = true -cast_to = Vector2( 0, 19 ) +cast_to = Vector2( 0, 16 ) +collision_mask = 56 + +[node name="SlopeRaycastRight" type="RayCast2D" parent="."] +position = Vector2( 10, 0 ) +enabled = true +cast_to = Vector2( 0, 32 ) collision_mask = 56 [connection signal="area_entered" from="BlobbySkin" to="." method="_on_BlobbySkin_area_entered"] diff --git a/src/Levels/01 Level.tscn b/src/Levels/01 Level.tscn index 0a7a727..08fe477 100644 --- a/src/Levels/01 Level.tscn +++ b/src/Levels/01 Level.tscn @@ -33,7 +33,7 @@ visible = false [node name="Blobby" parent="." instance=ExtResource( 2 )] unique_name_in_owner = true -position = Vector2( -56, -1.19209e-07 ) +position = Vector2( 89, -24 ) scale = Vector2( 0.878906, 0.936025 ) [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] @@ -44,32 +44,26 @@ parameters/playback = SubResource( 4 ) [node name="Coin" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 336, -60 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="Coin2" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 324, -11 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="Coin3" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 1188, -84 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="Coin4" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 1236, -108 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="Coin5" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 1140, -108 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="Coin6" parent="Collectibles" instance=ExtResource( 6 )] position = Vector2( 696, -48 ) scale = Vector2( 0.133, 0.133 ) -scoreValue = null [node name="TileMap" type="TileMap" parent="."] tile_set = ExtResource( 1 ) @@ -79,7 +73,7 @@ cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) collision_layer = 8 collision_mask = 8 format = 1 -tile_data = PoolIntArray( -851975, 3, 0, -851974, 3, 0, -851973, 3, 0, -851972, 3, 0, -851971, 3, 0, -851970, 3, 0, -851969, 3, 0, -917504, 3, 0, -917503, 3, 0, -917502, 3, 0, -917501, 3, 0, -917500, 3, 0, -917499, 3, 0, -917498, 3, 0, -917497, 3, 0, -917496, 3, 0, -917495, 3, 0, -917494, 3, 0, -917493, 3, 0, -917492, 3, 0, -917491, 3, 0, -917490, 3, 0, -917489, 3, 0, -917488, 3, 0, -917487, 3, 0, -917486, 3, 0, -917485, 3, 0, -917484, 3, 0, -917483, 3, 0, -917482, 3, 0, -917481, 3, 0, -917480, 3, 0, -917479, 3, 0, -917478, 3, 0, -917477, 3, 0, -917476, 3, 0, -917475, 3, 0, -917474, 3, 0, -917473, 3, 0, -917472, 3, 0, -917471, 3, 0, -917470, 3, 0, -917469, 3, 0, -917468, 3, 0, -917467, 3, 0, -917466, 3, 0, -917465, 3, 0, -917464, 3, 0, -917463, 3, 0, -917462, 3, 0, -917461, 3, 0, -917460, 3, 0, -917459, 3, 0, -917458, 3, 0, -917457, 3, 0, -917456, 3, 0, -917455, 3, 0, -917454, 3, 0, -917453, 3, 0, -917452, 3, 0, -917451, 3, 0, -917450, 3, 0, -917449, 3, 0, -917448, 3, 0, -917447, 3, 0, -917446, 3, 0, -917445, 3, 0, -917444, 3, 0, -917443, 3, 0, -917442, 3, 0, -786439, 3, 0, -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 3, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -851906, 3, 0, -720903, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -786370, 3, 0, -655367, 3, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -720834, 3, 0, -589831, 3, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -655298, 3, 0, -524295, 3, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -589762, 3, 0, -458759, 3, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -524226, 3, 0, -393223, 3, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -458690, 3, 0, -327687, 3, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -393154, 3, 0, -262151, 3, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -327618, 3, 0, -196615, 3, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -262082, 3, 0, -131079, 3, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 3, 0, -196546, 3, 0, -65543, 3, 0, -65542, -1610612734, 0, -131066, 6, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 3, 0, -131010, 3, 0, -7, 3, 0, -6, -1610612736, 0, -5, -1610612731, 0, -65533, 5, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 3, 0, -65474, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0, 62, 3, 0, 131065, 3, 0, 131066, 3, 0, 131067, 3, 0, 131068, 3, 0, 131069, 3, 0, 131070, 3, 0, 131071, 3, 0, 65536, 3, 0, 65537, 3, 0, 65538, 3, 0, 65539, 3, 0, 65540, 3, 0, 65541, 3, 0, 65542, 3, 0, 65543, 3, 0, 65544, 3, 0, 65545, 3, 0, 65546, 3, 0, 65547, 3, 0, 65548, 3, 0, 65549, 3, 0, 65550, 3, 0, 65551, 3, 0, 65552, 3, 0, 65553, 3, 0, 65554, 3, 0, 65555, 3, 0, 65556, 3, 0, 65557, 3, 0, 65558, 3, 0, 65559, 3, 0, 65560, 3, 0, 65561, 3, 0, 65562, 3, 0, 65563, 3, 0, 65564, 3, 0, 65565, 3, 0, 65566, 3, 0, 65567, 3, 0, 65568, 3, 0, 65569, 3, 0, 65570, 3, 0, 65571, 3, 0, 65572, 3, 0, 65573, 3, 0, 65574, 3, 0, 65575, 3, 0, 65576, 3, 0, 65577, 3, 0, 65578, 3, 0, 65579, 3, 0, 65580, 3, 0, 65581, 3, 0, 65582, 3, 0, 65583, 3, 0, 65584, 3, 0, 65585, 3, 0, 65586, 3, 0, 65587, 3, 0, 65588, 3, 0, 65589, 3, 0, 65590, 3, 0, 65591, 3, 0, 65592, 3, 0, 65593, 3, 0, 65594, 3, 0, 65595, 3, 0, 65596, 3, 0, 65597, 3, 0, 65598, 3, 0 ) +tile_data = PoolIntArray( -851975, 3, 0, -851974, 3, 0, -851973, 3, 0, -851972, 3, 0, -851971, 3, 0, -851970, 3, 0, -851969, 3, 0, -917504, 3, 0, -917503, 3, 0, -917502, 3, 0, -917501, 3, 0, -917500, 3, 0, -917499, 3, 0, -917498, 3, 0, -917497, 3, 0, -917496, 3, 0, -917495, 3, 0, -917494, 3, 0, -917493, 3, 0, -917492, 3, 0, -917491, 3, 0, -917490, 3, 0, -917489, 3, 0, -917488, 3, 0, -917487, 3, 0, -917486, 3, 0, -917485, 3, 0, -917484, 3, 0, -917483, 3, 0, -917482, 3, 0, -917481, 3, 0, -917480, 3, 0, -917479, 3, 0, -917478, 3, 0, -917477, 3, 0, -917476, 3, 0, -917475, 3, 0, -917474, 3, 0, -917473, 3, 0, -917472, 3, 0, -917471, 3, 0, -917470, 3, 0, -917469, 3, 0, -917468, 3, 0, -917467, 3, 0, -917466, 3, 0, -917465, 3, 0, -917464, 3, 0, -917463, 3, 0, -917462, 3, 0, -917461, 3, 0, -917460, 3, 0, -917459, 3, 0, -917458, 3, 0, -917457, 3, 0, -917456, 3, 0, -917455, 3, 0, -917454, 3, 0, -917453, 3, 0, -917452, 3, 0, -917451, 3, 0, -917450, 3, 0, -917449, 3, 0, -917448, 3, 0, -917447, 3, 0, -917446, 3, 0, -917445, 3, 0, -917444, 3, 0, -917443, 3, 0, -917442, 3, 0, -786439, 3, 0, -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 3, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -851906, 3, 0, -720903, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -786370, 3, 0, -655367, 3, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -720834, 3, 0, -589831, 3, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -655298, 3, 0, -524295, 3, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -589762, 3, 0, -458759, 3, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -524226, 3, 0, -393223, 3, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -458690, 3, 0, -327687, 3, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -393154, 3, 0, -262151, 3, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -327618, 3, 0, -196615, 3, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -262082, 3, 0, -131079, 3, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 3, 0, -196546, 3, 0, -65543, 3, 0, -65542, -1610612734, 0, -131065, 5, 0, -131064, 0, 0, -131063, 2, 0, -131062, -1610612731, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 3, 0, -131010, 3, 0, -7, 3, 0, -6, -1610612736, 0, -5, -1610612731, 0, -65534, 6, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65525, -1610612731, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 3, 0, -65474, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0, 62, 3, 0, 131065, 3, 0, 131066, 3, 0, 131067, 3, 0, 131068, 3, 0, 131069, 3, 0, 131070, 3, 0, 131071, 3, 0, 65536, 3, 0, 65537, 3, 0, 65538, 3, 0, 65539, 3, 0, 65540, 3, 0, 65541, 3, 0, 65542, 3, 0, 65543, 3, 0, 65544, 3, 0, 65545, 3, 0, 65546, 3, 0, 65547, 3, 0, 65548, 3, 0, 65549, 3, 0, 65550, 3, 0, 65551, 3, 0, 65552, 3, 0, 65553, 3, 0, 65554, 3, 0, 65555, 3, 0, 65556, 3, 0, 65557, 3, 0, 65558, 3, 0, 65559, 3, 0, 65560, 3, 0, 65561, 3, 0, 65562, 3, 0, 65563, 3, 0, 65564, 3, 0, 65565, 3, 0, 65566, 3, 0, 65567, 3, 0, 65568, 3, 0, 65569, 3, 0, 65570, 3, 0, 65571, 3, 0, 65572, 3, 0, 65573, 3, 0, 65574, 3, 0, 65575, 3, 0, 65576, 3, 0, 65577, 3, 0, 65578, 3, 0, 65579, 3, 0, 65580, 3, 0, 65581, 3, 0, 65582, 3, 0, 65583, 3, 0, 65584, 3, 0, 65585, 3, 0, 65586, 3, 0, 65587, 3, 0, 65588, 3, 0, 65589, 3, 0, 65590, 3, 0, 65591, 3, 0, 65592, 3, 0, 65593, 3, 0, 65594, 3, 0, 65595, 3, 0, 65596, 3, 0, 65597, 3, 0, 65598, 3, 0 ) [node name="Spikes" parent="TileMap" instance=ExtResource( 3 )] position = Vector2( 708, 12 )