From 8021aa1bf5068f5b8661c5e9a5949af0c818fac6 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Fri, 4 Aug 2023 20:56:17 +0200 Subject: [PATCH] fix: platforms are tweens, enemies hurting fix Enemies now make the player die (would be better with event) This resolves blobby detecting being killed whilst stomping --- src/Actors/Blobby/Blobby.gd | 10 +- src/Actors/Blobby/Blobby.tscn | 2 + src/Actors/Enemies/Beings/Caterpillar.tscn | 27 +-- src/Actors/Enemies/Beings/DartingEnemy.gd | 35 ++-- src/Actors/Enemies/Beings/DartingEnemy.tscn | 20 +- src/Actors/Enemies/Beings/Enemy.gd | 9 + src/Actors/Enemies/Beings/Flyer.gd | 198 +++++++++---------- src/Actors/Enemies/Beings/Flyer.tscn | 25 ++- src/Actors/Enemies/Beings/SimpleEnemy.gd | 20 +- src/Actors/Enemies/Beings/SmortEnemy.gd | 24 +-- src/Levels/1 Tutorial Level.tscn | 4 +- src/Levels/2 Tutorial Level.tscn | 17 +- src/Levels/3 Tutorial Level.tscn | 13 +- src/Levels/4 Tutorial Level.tscn | 206 +++----------------- src/Levels/5 Tutorial Level.tscn | 13 +- src/Levels/6 Tutorial Level.tscn | 6 +- src/Levels/Actual Level 1.tscn | 4 +- src/Levels/x02 Level.tscn | 4 +- src/Platforms/FlyingPlatform.gd | 31 ++- src/Platforms/FlyingPlatform.tscn | 52 +---- 20 files changed, 293 insertions(+), 427 deletions(-) diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index e5599ed..aa50f2a 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -231,7 +231,7 @@ func is_touching_wall_completely() -> bool: # Attached to wall state is in the PlayerStateMachine func is_correct_walljump_input(direction: Vector2) -> bool: return ( - Input.is_action_pressed("jump") + Input.is_action_just_pressed("jump") && abs(direction.x + wall_touch_direction) < 1 && abs(direction.x + wall_touch_direction) >= 0 ) @@ -429,6 +429,7 @@ func receive_power_up(kind: String) -> void: # TODO Maybe this should be a state in itself? func die(animation_number: int = 0) -> void: + if levelState.is_dead: return if shielded: shielded = false $BubbleShieldViewport/IridescenceBall.visible = false @@ -458,16 +459,11 @@ func respawn() -> void: # When the Enemy stomp AREA enters the enemy collision area -> stomp func _on_BlobbySkin_area_entered(area: Area2D) -> void: - if area.is_in_group("harmful") && !levelState.is_dead: + if area.is_in_group("harmful"): die() if area.is_in_group("pit"): $PitfallTimer.start() -# When the Enemy collision BODY enters the enemy collision area -> die -func _on_BlobbySkin_body_entered(body: Node) -> void: - if body.is_in_group("harmful") && !levelState.is_dead: - die() - # This problem stems from trying to decelerate a walk # that was caused by the moving environment and not by input # It is particularly usefull for moving floor physics diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index 9a269e4..189e911 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -4396,6 +4396,8 @@ one_shot = true wait_time = 0.809 one_shot = true +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] + [connection signal="area_entered" from="BlobbySkin" to="." method="_on_BlobbySkin_area_entered"] [connection signal="body_entered" from="BlobbySkin" to="." method="_on_BlobbySkin_body_entered"] [connection signal="got_grounded" from="BlobbyStateMachine" to="." method="_on_Blobby_got_grounded"] diff --git a/src/Actors/Enemies/Beings/Caterpillar.tscn b/src/Actors/Enemies/Beings/Caterpillar.tscn index 932ebb3..5df209e 100644 --- a/src/Actors/Enemies/Beings/Caterpillar.tscn +++ b/src/Actors/Enemies/Beings/Caterpillar.tscn @@ -4,19 +4,20 @@ [ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.gd" type="Script" id=2] [ext_resource path="res://src/StateMachines/CaterpillarStateMachine.gd" type="Script" id=3] -[sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 14.7108, 7.85442 ) - [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 15, 6 ) +extents = Vector2( 13.3735, 3.49085 ) [sub_resource type="RectangleShape2D" id=3] -extents = Vector2( 15, 12 ) +extents = Vector2( 15, 8.61814 ) + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 14.7108, 7.85442 ) [node name="Caterpillar" type="KinematicBody2D" groups=["harmful"]] scale = Vector2( 0.747749, 0.572926 ) collision_layer = 2 collision_mask = 9 +collision/safe_margin = 0.001 script = ExtResource( 2 ) [node name="enemy" type="Sprite" parent="."] @@ -31,10 +32,6 @@ rect = Rect2( -89, -10, 2, 20 ) process_parent = true physics_process_parent = true -[node name="EnemyBody" type="CollisionShape2D" parent="."] -position = Vector2( -6.37697e-07, 4.36357 ) -shape = SubResource( 1 ) - [node name="SlopeRaycastLeft" type="RayCast2D" parent="."] position = Vector2( -7.5, 12 ) enabled = true @@ -66,21 +63,29 @@ position = Vector2( 0, -6.44095 ) collision_layer = 2 input_pickable = false monitorable = false +priority = 1.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -position = Vector2( 0, 0.440949 ) +position = Vector2( 0, -2.28618 ) shape = SubResource( 2 ) [node name="EnemySkin" type="Area2D" parent="." groups=["player"]] process_priority = -1 collision_layer = 2 -collision_mask = 126 +collision_mask = 127 +input_pickable = false [node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"] +position = Vector2( 0, 3.49085 ) shape = SubResource( 3 ) +[node name="EnemyBody" type="CollisionShape2D" parent="."] +position = Vector2( -6.37697e-07, 4.36357 ) +shape = SubResource( 1 ) + [node name="StateMachine" type="Node2D" parent="."] script = ExtResource( 3 ) [connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"] [connection signal="area_entered" from="EnemySkin" to="." method="_on_EnemySkin_area_entered"] +[connection signal="body_entered" from="EnemySkin" to="." method="_on_EnemySkin_body_entered"] diff --git a/src/Actors/Enemies/Beings/DartingEnemy.gd b/src/Actors/Enemies/Beings/DartingEnemy.gd index f380a15..59bce87 100644 --- a/src/Actors/Enemies/Beings/DartingEnemy.gd +++ b/src/Actors/Enemies/Beings/DartingEnemy.gd @@ -6,30 +6,29 @@ export var speed := 80 export var acceleration := 80 func _ready() -> void: - set_physics_process(false) - $StompDetector.monitoring = !invincible + $StompDetector.monitoring = !invincible # TODO Only moves when on screen func _physics_process(delta: float) -> void: - velocity.y += _gravity * delta - var player_direction := player_on_floor_direction() - if(player_direction != 0): - velocity.x = PhysicsFunc.two_step_euler(velocity.x, acceleration * player_direction, - mass, delta) - velocity.x = clamp(velocity.x, -speed, speed) - else: - velocity.x = PhysicsFunc.two_step_euler(velocity.x, acceleration * -sign(velocity.x), - mass, delta) + velocity.y += _gravity * delta + var player_direction := player_on_floor_direction() + if(player_direction != 0): + velocity.x = PhysicsFunc.two_step_euler(velocity.x, acceleration * player_direction, + mass, delta) + velocity.x = clamp(velocity.x, -speed, speed) + else: + velocity.x = PhysicsFunc.two_step_euler(velocity.x, acceleration * -sign(velocity.x), + mass, delta) - velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y + velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y # TODO Detects player over gaps func player_on_floor_direction() -> float: - for raycast in $LedgeDetectorRays.get_children(): - if raycast.is_colliding(): - var collider = raycast.get_collider() - if collider.is_in_group("player"): - return sign(collider.position.x - self.position.x) - return 0.0 + for raycast in $LedgeDetectorRays.get_children(): + if raycast.is_colliding(): + var collider = raycast.get_collider() + if collider.is_in_group("player"): + return sign(collider.position.x - self.position.x) + return 0.0 diff --git a/src/Actors/Enemies/Beings/DartingEnemy.tscn b/src/Actors/Enemies/Beings/DartingEnemy.tscn index bbb3077..6ba1c11 100644 --- a/src/Actors/Enemies/Beings/DartingEnemy.tscn +++ b/src/Actors/Enemies/Beings/DartingEnemy.tscn @@ -4,13 +4,13 @@ [ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.gd" type="Script" id=2] [sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 15, 7.5 ) +extents = Vector2( 15, 9 ) [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 15, 4.51505 ) +extents = Vector2( 14, 1.5 ) [sub_resource type="RectangleShape2D" id=3] -extents = Vector2( 15.534, 10.0962 ) +extents = Vector2( 15.534, 9.5 ) [node name="DartingEnemy" type="KinematicBody2D" groups=["harmful"]] collision_layer = 2 @@ -18,7 +18,6 @@ collision_mask = 9 script = ExtResource( 2 ) [node name="enemy" type="Sprite" parent="."] -position = Vector2( 0, -1.90735e-06 ) scale = Vector2( 0.286789, 0.276348 ) texture = ExtResource( 1 ) @@ -29,8 +28,8 @@ rect = Rect2( -89, -10, 2, 20 ) process_parent = true physics_process_parent = true -[node name="EnemyBody" type="CollisionShape2D" parent="." groups=["harmful"]] -position = Vector2( -4.76837e-07, 4.5 ) +[node name="EnemyBody" type="CollisionShape2D" parent="."] +position = Vector2( -4.76837e-07, 4 ) shape = SubResource( 1 ) [node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]] @@ -40,7 +39,7 @@ collision_layer = 2 input_pickable = false [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -position = Vector2( 0, -1.044 ) +position = Vector2( 0, -3.55905 ) shape = SubResource( 2 ) [node name="LedgeDetectorRays" type="Node2D" parent="."] @@ -63,12 +62,13 @@ collision_mask = 121 [node name="EnemySkin" type="Area2D" parent="." groups=["player"]] process_priority = -1 -visible = false -collision_mask = 126 +collision_layer = 2 +collision_mask = 127 [node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"] -position = Vector2( -8.07794e-28, 1.5 ) +position = Vector2( 0, 2.5 ) shape = SubResource( 3 ) [connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"] [connection signal="area_entered" from="EnemySkin" to="." method="_on_EnemySkin_area_entered"] +[connection signal="body_entered" from="EnemySkin" to="." method="_on_EnemySkin_body_entered"] diff --git a/src/Actors/Enemies/Beings/Enemy.gd b/src/Actors/Enemies/Beings/Enemy.gd index 91d6b74..523992c 100644 --- a/src/Actors/Enemies/Beings/Enemy.gd +++ b/src/Actors/Enemies/Beings/Enemy.gd @@ -1,13 +1,18 @@ extends Actor class_name Enemy +var player_entered_stomp = false + func _on_StompDetector_body_entered(body: Node) -> void: if !body.is_in_group("player"): return + player_entered_stomp = true var incoming_vel_vector: Vector2 = body.velocity.normalized() print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))))) if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(90): print("too shallow entry") + body.die() + player_entered_stomp = false return signalManager.emit_signal("got_stomped") remove_from_group("harmful") @@ -24,3 +29,7 @@ func _on_EnemySkin_area_entered(area:Area2D) -> void: if area.is_in_group("harmful"): get_node("EnemyBody").disabled = true die() + +func _on_EnemySkin_body_entered(body: Node) -> void: + if body.is_in_group("player") && !player_entered_stomp: + body.die() diff --git a/src/Actors/Enemies/Beings/Flyer.gd b/src/Actors/Enemies/Beings/Flyer.gd index f3ecb3c..b992609 100644 --- a/src/Actors/Enemies/Beings/Flyer.gd +++ b/src/Actors/Enemies/Beings/Flyer.gd @@ -38,126 +38,126 @@ var detect_timer := 0.0 func _ready(): - spawn_avoidance_raycasts(16, 20) - target_lost_timer = Timer.new() - target_lost_timer.set_one_shot(true) - target_lost_timer.connect("timeout", self, "lose_target") - add_child(target_lost_timer) - update_navigation_timer = Timer.new() - update_navigation_timer.connect("timeout", self, "update_navigation") - add_child(update_navigation_timer) - update_navigation_timer.start(0.3) - # TODO Hat immer den Spawn im Patrolpath - patrol_waypoints.append(global_position) - for waypoint in $PatrolPath.get_children(): - patrol_waypoints.append(waypoint.global_position) - pass + spawn_avoidance_raycasts(16, 20) + target_lost_timer = Timer.new() + target_lost_timer.set_one_shot(true) + target_lost_timer.connect("timeout", self, "lose_target") + add_child(target_lost_timer) + update_navigation_timer = Timer.new() + update_navigation_timer.connect("timeout", self, "update_navigation") + add_child(update_navigation_timer) + update_navigation_timer.start(0.3) + # TODO Hat immer den Spawn im Patrolpath + patrol_waypoints.append(global_position) + for waypoint in $PatrolPath.get_children(): + patrol_waypoints.append(waypoint.global_position) + pass func searching() -> Vector2: - slow_down_factor = patrolling_slowdown - if(aggressive && detect_timer > 0.33): - detect_player() - detect_timer = 0.0 - if(patrolling && nav_agent.is_target_reached()): - next_waypoint = get_next_patrol_target() - update_navigation() - elif(patrolling): - next_waypoint = patrol_waypoints[patrol_waypoint_index] - else: - # Spawn location - return patrol_waypoints[0] - return nav_agent.get_next_location() + slow_down_factor = patrolling_slowdown + if(aggressive && detect_timer > 0.33): + detect_player() + detect_timer = 0.0 + if(patrolling && nav_agent.is_target_reached()): + next_waypoint = get_next_patrol_target() + update_navigation() + elif(patrolling): + next_waypoint = patrol_waypoints[patrol_waypoint_index] + else: + # Spawn location + return patrol_waypoints[0] + return nav_agent.get_next_location() func get_next_patrol_target() -> Vector2: - var waypoint_count = patrol_waypoints.size() - for wp in patrol_waypoints: - if next_waypoint == wp: - patrol_waypoint_index = patrol_waypoint_index + 1 if patrol_waypoint_index < waypoint_count - 1 else 0 - return patrol_waypoints[patrol_waypoint_index] - patrol_waypoint_index = 0 - return patrol_waypoints[0] + var waypoint_count = patrol_waypoints.size() + for wp in patrol_waypoints: + if next_waypoint == wp: + patrol_waypoint_index = patrol_waypoint_index + 1 if patrol_waypoint_index < waypoint_count - 1 else 0 + return patrol_waypoints[patrol_waypoint_index] + patrol_waypoint_index = 0 + return patrol_waypoints[0] func hunting() -> Vector2: - slow_down_factor = 1.0 - if(detect_timer > 0.33): - detect_player() - detect_timer = 0.0 - next_waypoint = players[0].global_position - Vector2(0,9) - return nav_agent.get_next_location() - + slow_down_factor = 1.0 + if(detect_timer > 0.33): + detect_player() + detect_timer = 0.0 + next_waypoint = players[0].global_position - Vector2(0,9) + return nav_agent.get_next_location() + func detect_player() -> void: - var player - if(players.empty()): - # print("no player found") - return - player = players[0] - #TODO Depends on height of blobby sprite since blobbys bottom and not his middle is on y=0 - vision_raycast.cast_to = (player.global_position - global_position - Vector2(0,9)).normalized() * 16 * vision_distance - var ray_angle_to_facing = vision_raycast.cast_to.angle_to(orientation.cast_to) - vision_raycast.force_raycast_update() - var collider = vision_raycast.get_collider() - if(abs(ray_angle_to_facing) < PI/2-deg2rad(blindspot_angle) && collider != null && collider.is_in_group("player")): - target_lost_timer.stop() - target = collider - # print("target found") - elif(target != null && target_lost_timer.is_stopped()): - target_lost_timer.start(loose_target_seconds) + var player + if(players.empty()): + # print("no player found") + return + player = players[0] + #TODO Depends on height of blobby sprite since blobbys bottom and not his middle is on y=0 + vision_raycast.cast_to = (player.global_position - global_position - Vector2(0,9)).normalized() * 16 * vision_distance + var ray_angle_to_facing = vision_raycast.cast_to.angle_to(orientation.cast_to) + vision_raycast.force_raycast_update() + var collider = vision_raycast.get_collider() + if(abs(ray_angle_to_facing) < PI/2-deg2rad(blindspot_angle) && collider != null && collider.is_in_group("player")): + target_lost_timer.stop() + target = collider + # print("target found") + elif(target != null && target_lost_timer.is_stopped()): + target_lost_timer.start(loose_target_seconds) func execute_movement(delta: float) -> void: - detect_timer += delta - var next_direction = lerp(previous_direction, path_direction - global_position, 0.5) - previous_direction = next_direction - orientation.cast_to = Vector2(sign(next_direction.x),0)*50 - var avoidance_obstacle_distance = average_collision_vector(avoidance_raycasts) - next_direction = next_direction.normalized() + avoidance_obstacle_distance.rotated(PI).normalized() - # TODO Make parameters more tunable - velocity = move_and_slide(PhysicsFunc.two_step_euler_vec(velocity, next_direction.normalized() * acceleration * slow_down_factor, weight, delta) - ,FLOOR_NORMAL, false, 4, 0.785398,false) - velocity = velocity/max((velocity.length()/(max_speed*slow_down_factor)),1) + detect_timer += delta + var next_direction = lerp(previous_direction, path_direction - global_position, 0.5) + previous_direction = next_direction + orientation.cast_to = Vector2(sign(next_direction.x),0)*50 + var avoidance_obstacle_distance = average_collision_vector(avoidance_raycasts) + next_direction = next_direction.normalized() + avoidance_obstacle_distance.rotated(PI).normalized() + # TODO Make parameters more tunable + velocity = move_and_slide(PhysicsFunc.two_step_euler_vec(velocity, next_direction.normalized() * acceleration * slow_down_factor, weight, delta) + ,FLOOR_NORMAL, false, 4, 0.785398,false) + velocity = velocity/max((velocity.length()/(max_speed*slow_down_factor)),1) func average_collision_vector(var raycasts: Array) -> Vector2: - var total_distances = Vector2() - for raycast in raycasts: - if !raycast.is_colliding(): - continue - var collision_point = self.to_local(raycast.get_collision_point()) - total_distances += collision_point - return total_distances/raycasts.size() + var total_distances = Vector2() + for raycast in raycasts: + if !raycast.is_colliding(): + continue + var collision_point = self.to_local(raycast.get_collision_point()) + total_distances += collision_point + return total_distances/raycasts.size() func spawn_avoidance_raycasts(var raycount: int, var length: float = 24) -> void: - var direction: float = 0 - while direction <= 2*PI: - var raycast: RayCast2D = RayCast2D.new() - raycast.enabled = true - raycast.exclude_parent = true - raycast.collide_with_areas = true - raycast.collide_with_bodies = true - # Layers 4, 5 & 6 - raycast.collision_mask = 56 - raycast.cast_to = Vector2(length, 0).rotated(direction) - add_child(raycast) - avoidance_raycasts.append(raycast) - direction += (2*PI)/raycount + var direction: float = 0 + while direction <= 2*PI: + var raycast: RayCast2D = RayCast2D.new() + raycast.enabled = true + raycast.exclude_parent = true + raycast.collide_with_areas = true + raycast.collide_with_bodies = true + # Layers 4, 5 & 6 + raycast.collision_mask = 56 + raycast.cast_to = Vector2(length, 0).rotated(direction) + add_child(raycast) + avoidance_raycasts.append(raycast) + direction += (2*PI)/raycount # Checks the feeler ray for collisions and returns collision or null func check_feeler(v: Vector2, _offset = Vector2(0,0)) -> Object: - var prev_position = feeler_raycast.position - feeler_raycast.position += _offset - feeler_raycast.cast_to = v - feeler_raycast.force_raycast_update() - feeler_raycast.position = prev_position - return feeler_raycast.get_collider() + var prev_position = feeler_raycast.position + feeler_raycast.position += _offset + feeler_raycast.cast_to = v + feeler_raycast.force_raycast_update() + feeler_raycast.position = prev_position + return feeler_raycast.get_collider() func lose_target() -> void: - # print("flyer target lost") - target = null + # print("flyer target lost") + target = null func update_navigation() -> void: - nav_agent.set_target_location(next_waypoint) + nav_agent.set_target_location(next_waypoint) func die() -> void: - levelState.kills += 1 - queue_free() + levelState.kills += 1 + queue_free() func get_facing_direction() -> float: - return orientation.cast_to.x + return orientation.cast_to.x diff --git a/src/Actors/Enemies/Beings/Flyer.tscn b/src/Actors/Enemies/Beings/Flyer.tscn index 43eb494..3865386 100644 --- a/src/Actors/Enemies/Beings/Flyer.tscn +++ b/src/Actors/Enemies/Beings/Flyer.tscn @@ -187,10 +187,10 @@ graph_offset = Vector2( -333, -104 ) extents = Vector2( 10, 7.5 ) [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 15, 5.12039 ) +extents = Vector2( 11.4286, 5.12039 ) -[sub_resource type="RectangleShape2D" id=3] -extents = Vector2( 18.2143, 14.3338 ) +[sub_resource type="RectangleShape2D" id=52] +extents = Vector2( 15.7143, 12.1429 ) [node name="Flyer" type="KinematicBody2D" groups=["frogfood", "harmful"]] collision_layer = 258 @@ -225,7 +225,6 @@ unique_name_in_owner = true scale = Vector2( -1, 1 ) texture = ExtResource( 4 ) hframes = 2 -frame = 1 [node name="AnimationPlayer" type="AnimationPlayer" parent="FlyerSprite"] anims/RESET = SubResource( 33 ) @@ -277,7 +276,6 @@ bias = 0.108 softness = 0.1 [node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]] -visible = false modulate = Color( 0, 0.0392157, 1, 1 ) position = Vector2( 0, -1.90735e-06 ) scale = Vector2( 0.7, 0.7 ) @@ -285,18 +283,19 @@ collision_layer = 2 input_pickable = false [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -position = Vector2( -4.76837e-07, 1.56134 ) +position = Vector2( 6.81196e-07, 1.56134 ) shape = SubResource( 2 ) -[node name="EnemySkin" type="Area2D" parent="."] -process_priority = -1 -visible = false +[node name="DangerousBlockArea" type="Node2D" parent="."] scale = Vector2( 0.7, 0.7 ) -collision_layer = 2 -collision_mask = 126 -[node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"] -shape = SubResource( 3 ) +[node name="Area2D" type="Area2D" parent="DangerousBlockArea" groups=["harmful"]] +collision_layer = 8 +collision_mask = 3 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DangerousBlockArea/Area2D"] +position = Vector2( 5.10897e-07, -0.714285 ) +shape = SubResource( 52 ) [node name="PatrolPath" type="Node2D" parent="."] diff --git a/src/Actors/Enemies/Beings/SimpleEnemy.gd b/src/Actors/Enemies/Beings/SimpleEnemy.gd index 8bbdc72..b868fd3 100644 --- a/src/Actors/Enemies/Beings/SimpleEnemy.gd +++ b/src/Actors/Enemies/Beings/SimpleEnemy.gd @@ -2,17 +2,17 @@ extends Enemy func _ready() -> void: - set_physics_process(false) - velocity.x = -40 + set_physics_process(false) + velocity.x = -40 func _physics_process(delta: float) -> void: - velocity.y += _gravity * delta - if is_on_wall() or is_at_ledge(): - velocity.x *= -1.0 - velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y + velocity.y += _gravity * delta + if is_on_wall() or is_at_ledge(): + velocity.x *= -1.0 + velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y func is_at_ledge(): - for raycast in $LedgeDetectorRays.get_children(): - if !raycast.is_colliding(): - return true - return false + for raycast in $LedgeDetectorRays.get_children(): + if !raycast.is_colliding(): + return true + return false diff --git a/src/Actors/Enemies/Beings/SmortEnemy.gd b/src/Actors/Enemies/Beings/SmortEnemy.gd index 730935e..202b298 100644 --- a/src/Actors/Enemies/Beings/SmortEnemy.gd +++ b/src/Actors/Enemies/Beings/SmortEnemy.gd @@ -2,21 +2,21 @@ extends Enemy func _ready() -> void: - set_physics_process(false) - velocity.x = -30 + set_physics_process(false) + velocity.x = -30 # TODO adapt to groups func _physics_process(delta: float) -> void: - velocity.y += _gravity * delta - if is_on_wall() or !is_safe_drop(): - velocity.x *= -1.0 - velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y + velocity.y += _gravity * delta + if is_on_wall() or !is_safe_drop(): + velocity.x *= -1.0 + velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y func is_safe_drop(): - for raycast in $LedgeDetectorRays.get_children(): - if raycast.is_colliding(): - var collider = raycast.get_collider() - if collider.is_in_group("harmful"): - return false - return true + for raycast in $LedgeDetectorRays.get_children(): + if raycast.is_colliding(): + var collider = raycast.get_collider() + if collider.is_in_group("harmful"): + return false + return true diff --git a/src/Levels/1 Tutorial Level.tscn b/src/Levels/1 Tutorial Level.tscn index d4c3ba5..182dbbe 100644 --- a/src/Levels/1 Tutorial Level.tscn +++ b/src/Levels/1 Tutorial Level.tscn @@ -42,10 +42,10 @@ unique_name_in_owner = true process_mode = 1 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 2 +frame = 11 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 1 +frame = 10 [node name="Blobby" parent="." instance=ExtResource( 7 )] unique_name_in_owner = true diff --git a/src/Levels/2 Tutorial Level.tscn b/src/Levels/2 Tutorial Level.tscn index ddbd769..ef48bec 100644 --- a/src/Levels/2 Tutorial Level.tscn +++ b/src/Levels/2 Tutorial Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=18 format=2] [ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=1] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=2] @@ -13,6 +13,8 @@ [ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=11] [ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=12] [ext_resource path="res://src/ObstacleObjects/PitArea.tscn" type="PackedScene" id=13] +[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=14] +[ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -63,7 +65,10 @@ drag_margin_top = 0.1 drag_margin_bottom = 0.1 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 5 +frame = 11 + +[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] +frame = 10 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true @@ -86,7 +91,7 @@ collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 -tile_data = PoolIntArray( -1245078, 5, 6, -1179542, 5, 6, -1114006, 5, 6, -1048470, 5, 6, -982934, 5, 6, -917398, 5, 6, -851862, 5, 6, -720912, 5, 524293, -786326, 5, 6, -655376, 5, 524293, -720790, 5, 6, -589840, 5, 524293, -589835, 1610612741, 196609, -589834, 5, 196613, -589833, -1073741819, 196609, -589829, 1610612741, 6, -655254, 5, 6, -524304, 5, 524293, -524299, -1073741819, 196616, -524298, 5, 393221, -524297, -1073741819, 196610, -524293, 1610612741, 6, -589718, 5, 6, -458768, 5, 524293, -458763, -1610612731, 196609, -458762, 5, 196610, -458761, 5, 196609, -458758, -1073741819, 262150, -458757, 1610612741, 6, -524182, 5, 6, -393232, 5, 524293, -393230, 1610612741, 65539, -393229, 1610612741, 3, -393228, 1610612741, 3, -393227, 1610612741, 3, -393226, 1610612741, 3, -393225, 1610612741, 3, -393224, 1610612741, 3, -393223, 1073741829, 2, -393222, 5, 65541, -393221, 1610612741, 6, -458646, 5, 6, -327696, 5, 524293, -327694, 5, 7, -327686, 5, 6, -327685, 5, 8, -393110, 5, 6, -262160, 5, 524293, -262158, 5, 7, -262150, 5, 6, -262149, 5, 8, -327574, 5, 6, -196624, 5, 524293, -196622, 5, 7, -196614, 5, 6, -196613, 5, 8, -262133, 5, 1, -262132, 5, 2, -262131, 5, 2, -262130, 5, 2, -262129, 5, 2, -262128, 5, 2, -262127, 5, 2, -262126, 5, 2, -262125, 5, 2, -262124, 5, 2, -262123, 5, 5, -262082, 5, 1, -262081, 5, 2, -262080, 5, 2, -262079, 5, 2, -262078, 5, 2, -262077, 5, 2, -262076, 5, 2, -262075, 5, 2, -262074, 5, 2, -262073, 5, 2, -262072, 5, 2, -262071, 5, 2, -262070, 5, 2, -262069, 5, 2, -262068, 5, 2, -262067, 5, 2, -262066, 5, 2, -262065, 5, 2, -262064, 5, 2, -262063, 5, 2, -262062, 5, 2, -262061, 5, 2, -262060, 5, 2, -262059, 5, 2, -262058, 5, 2, -262057, 5, 2, -262056, 5, 2, -262055, 5, 2, -262054, 5, 2, -262053, 5, 2, -262052, 5, 2, -262051, 5, 2, -262050, 5, 2, -262049, 5, 2, -262048, 5, 2, -262047, 5, 2, -262046, 5, 2, -262045, 5, 2, -262044, 5, 2, -262043, 5, 2, -262042, 5, 2, -262041, 5, 2, -262040, 5, 2, -262039, 5, 2, -262038, 5, 65539, -131088, 5, 524293, -131086, 5, 7, -131078, 5, 6, -131077, 5, 65538, -131076, 5, 2, -131075, 5, 2, -131074, 5, 5, -196606, 5, 1, -196605, 5, 2, -196604, 5, 5, -196597, 5, 9, -196596, 5, 10, -196595, 5, 10, -196594, 5, 10, -196593, 5, 65541, -196587, 5, 7, -196546, 5, 6, -65552, 5, 524293, -65550, 5, 7, -65542, 5, 6, -65538, 5, 7, -131070, 5, 6, -131068, 5, 7, -131057, 5, 6, -131051, 5, 7, -131010, 5, 6, -16, 5, 524293, -14, 5, 7, -6, 5, 6, -2, 5, 7, -65534, 5, 6, -65532, 5, 7, -65521, 5, 6, -65515, 5, 7, -65486, 5, 65542, -65485, 5, 65543, -65484, 5, 65543, -65483, 5, 65543, -65482, 5, 65543, -65481, 5, 65543, -65480, 5, 65544, -65474, 5, 6, 65520, 5, 524293, 65522, 5, 7, 65530, 5, 6, 65534, 5, 7, 2, 5, 6, 4, 5, 65538, 5, 5, 2, 6, 5, 2, 7, 5, 5, 15, 5, 6, 21, 5, 7, 29, 5, 1, 30, 5, 2, 31, 5, 2, 32, 5, 2, 33, 5, 2, 34, 5, 2, 35, 5, 2, 36, 5, 2, 37, 5, 2, 38, 5, 2, 39, 5, 2, 40, 5, 2, 41, 5, 2, 42, 5, 2, 43, 5, 5, 62, 5, 6, 131056, 5, 524293, 131058, 5, 7, 131066, 5, 6, 131071, 5, 2, 65536, 5, 2, 65537, 5, 2, 65538, 5, 65540, 65539, 5, 10, 65540, 5, 10, 65541, 5, 10, 65542, 5, 10, 65543, 5, 65536, 65551, 5, 6, 65557, 5, 7, 65565, 5, 6, 65579, 5, 7, 65598, 5, 6, 196592, 5, 524293, 196594, 5, 7, 196602, 5, 9, 196603, 5, 10, 196604, 5, 10, 196605, 5, 10, 196606, 5, 10, 196607, 5, 10, 131072, 5, 10, 131073, 5, 10, 131074, 5, 65536, 131087, 5, 6, 131093, 5, 7, 131101, 5, 6, 131115, 5, 7, 131134, 5, 6, 262128, 5, 524293, 262130, 5, 7, 196619, 5, 1, 196620, 5, 2, 196621, 5, 2, 196622, 5, 2, 196623, 5, 65539, 196629, 5, 7, 196637, 5, 6, 196651, 5, 7, 196670, 5, 6, 327664, 5, 524293, 327666, 5, 7, 262155, 5, 9, 262156, 5, 10, 262157, 5, 10, 262158, 5, 10, 262159, 5, 10, 262160, 5, 10, 262161, 5, 10, 262162, 5, 10, 262163, 5, 10, 262164, 5, 10, 262165, 5, 65536, 262173, 5, 6, 262187, 5, 7, 262206, 5, 6, 393200, 5, 524293, 393202, 5, 7, 327709, 5, 6, 327723, 5, 7, 327742, 5, 6, 458736, 5, 524293, 458738, 5, 7, 393245, 5, 6, 393259, 5, 7, 393278, 5, 6, 524272, 5, 524293, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 536870917, 2, 524280, 536870917, 2, 524281, 536870917, 2, 524282, 536870917, 2, 524283, 536870917, 2, 524284, 536870917, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 3, 458764, 5, 3, 458765, 5, 3, 458766, 5, 3, 458767, 5, 3, 458768, 5, 3, 458769, 5, 3, 458770, 5, 3, 458771, 5, 3, 458772, 5, 3, 458773, 5, 3, 458774, 5, 3, 458775, 5, 3, 458776, 5, 3, 458777, 5, 3, 458778, 5, 3, 458779, 5, 3, 458780, 5, 3, 458781, 5, 65539, 458795, 5, 7, 458814, 5, 6, 589808, 5, 524293, 655344, 5, 524293, 655345, 5, 524293, 655346, 5, 524293, 655347, 5, 524293, 655348, 5, 524293, 655349, 5, 524293, 655350, 5, 524293, 655351, 5, 524293, 655352, 5, 524293, 655353, 5, 524293, 655354, 5, 524293, 655355, 5, 524293, 655356, 5, 524293 ) +tile_data = PoolIntArray( -1245189, 5, 65540, -1245188, 5, 10, -1245187, 5, 10, -1245186, 5, 10, -1245185, 5, 10, -1310720, 5, 10, -1310719, 5, 10, -1310718, 5, 10, -1310717, 5, 10, -1310716, 5, 10, -1310715, 5, 10, -1310714, 5, 10, -1310713, 5, 10, -1310712, 5, 10, -1310711, 5, 10, -1310710, 5, 10, -1310709, 5, 10, -1310708, 5, 10, -1310707, 5, 10, -1310706, 5, 10, -1310705, 5, 10, -1310704, 5, 10, -1310703, 5, 10, -1310702, 5, 10, -1310701, 5, 10, -1310700, 5, 10, -1310699, 5, 10, -1310698, 5, 10, -1310697, 5, 10, -1310696, 5, 10, -1310695, 5, 10, -1310694, 5, 10, -1310693, 5, 10, -1310692, 5, 10, -1310691, 5, 10, -1310690, 5, 10, -1310689, 5, 10, -1310688, 5, 10, -1310687, 5, 10, -1310686, 5, 10, -1310685, 5, 10, -1310684, 5, 10, -1310683, 5, 10, -1310682, 5, 10, -1310681, 5, 10, -1310680, 5, 10, -1310679, 5, 10, -1310678, 5, 10, -1310677, 5, 10, -1310676, 5, 10, -1310675, 5, 10, -1310674, 5, 10, -1310673, 5, 10, -1310672, 5, 10, -1310671, 5, 10, -1310670, 5, 10, -1310669, 5, 10, -1310668, 5, 10, -1310667, 5, 10, -1310666, 5, 10, -1310665, 5, 10, -1310664, 5, 10, -1310663, 5, 10, -1310662, 5, 10, -1310661, 5, 10, -1310660, 5, 10, -1310659, 5, 10, -1310658, 5, 10, -1310657, 5, 10, -1310656, 5, 10, -1310655, 5, 10, -1310654, 5, 10, -1310653, 5, 10, -1310652, 5, 10, -1310651, 5, 10, -1310650, 5, 10, -1310649, 5, 10, -1310648, 5, 10, -1310647, 5, 10, -1310646, 5, 10, -1310645, 5, 10, -1310644, 5, 10, -1310643, 5, 10, -1310642, 5, 10, -1310641, 5, 10, -1310640, 5, 10, -1310639, 5, 10, -1310638, 5, 10, -1310637, 5, 10, -1310636, 5, 10, -1310635, 5, 10, -1310634, 5, 10, -1310633, 5, 10, -1310632, 5, 10, -1310631, 5, 10, -1310630, 5, 10, -1310629, 5, 10, -1310628, 5, 10, -1310627, 5, 10, -1310626, 5, 10, -1310625, 5, 10, -1310624, 5, 10, -1310623, 5, 10, -1310622, 5, 10, -1310621, 5, 10, -1310620, 5, 10, -1310619, 5, 10, -1310618, 5, 10, -1310617, 5, 10, -1310616, 5, 10, -1310615, 5, 10, -1179653, 5, 7, -1245078, 5, 6, -1114117, 5, 7, -1179542, 5, 6, -1048581, 5, 7, -1114006, 5, 6, -983045, 5, 7, -1048470, 5, 6, -917509, 5, 7, -982934, 5, 6, -851973, 5, 7, -917398, 5, 6, -786437, 5, 7, -851862, 5, 6, -720912, 5, 524293, -720901, 5, 7, -786326, 5, 6, -655376, 5, 524293, -655365, 5, 7, -720790, 5, 6, -589840, 5, 524293, -589835, 1610612741, 196609, -589834, 5, 196613, -589833, -1073741819, 196609, -589829, 1610612741, 6, -655254, 5, 6, -524304, 5, 524293, -524299, -1073741819, 196616, -524298, 5, 393221, -524297, -1073741819, 196610, -524293, 1610612741, 6, -589718, 5, 6, -458768, 5, 524293, -458763, -1610612731, 196609, -458762, 5, 196610, -458761, 5, 196609, -458758, -1073741819, 262150, -458757, 1610612741, 6, -524182, 5, 6, -393232, 5, 524293, -393230, 1610612741, 65539, -393229, 1610612741, 3, -393228, 1610612741, 3, -393227, 1610612741, 3, -393226, 1610612741, 3, -393225, 1610612741, 3, -393224, 1610612741, 3, -393223, 1073741829, 2, -393222, 5, 65541, -393221, 1610612741, 6, -458646, 5, 6, -327696, 5, 524293, -327694, 5, 7, -327686, 5, 6, -327685, 5, 8, -393110, 5, 6, -262160, 5, 524293, -262158, 5, 7, -262150, 5, 6, -262149, 5, 8, -327574, 5, 6, -196624, 5, 524293, -196622, 5, 7, -196614, 5, 6, -196613, 5, 8, -262133, 5, 1, -262132, 5, 2, -262131, 5, 2, -262130, 5, 2, -262129, 5, 2, -262128, 5, 2, -262127, 5, 2, -262126, 5, 2, -262125, 5, 2, -262124, 5, 2, -262123, 5, 5, -262082, 5, 1, -262081, 5, 2, -262080, 5, 2, -262079, 5, 2, -262078, 5, 2, -262077, 5, 2, -262076, 5, 2, -262075, 5, 2, -262074, 5, 2, -262073, 5, 2, -262072, 5, 2, -262071, 5, 2, -262070, 5, 2, -262069, 5, 2, -262068, 5, 2, -262067, 5, 2, -262066, 5, 2, -262065, 5, 2, -262064, 5, 2, -262063, 5, 2, -262062, 5, 2, -262061, 5, 2, -262060, 5, 2, -262059, 5, 2, -262058, 5, 2, -262057, 5, 2, -262056, 5, 2, -262055, 5, 2, -262054, 5, 2, -262053, 5, 2, -262052, 5, 2, -262051, 5, 2, -262050, 5, 2, -262049, 5, 2, -262048, 5, 2, -262047, 5, 2, -262046, 5, 2, -262045, 5, 2, -262044, 5, 2, -262043, 5, 2, -262042, 5, 2, -262041, 5, 2, -262040, 5, 2, -262039, 5, 2, -262038, 5, 65539, -131088, 5, 524293, -131086, 5, 7, -131078, 5, 6, -131077, 5, 65538, -131076, 5, 2, -131075, 5, 2, -131074, 5, 5, -196606, 5, 1, -196605, 5, 2, -196604, 5, 5, -196597, 5, 9, -196596, 5, 10, -196595, 5, 10, -196594, 5, 10, -196593, 5, 65541, -196587, 5, 7, -196546, 5, 6, -65552, 5, 524293, -65550, 5, 7, -65542, 5, 6, -65538, 5, 7, -131070, 5, 6, -131068, 5, 7, -131057, 5, 6, -131051, 5, 7, -131010, 5, 6, -16, 5, 524293, -14, 5, 7, -6, 5, 6, -2, 5, 7, -65534, 5, 6, -65532, 5, 7, -65521, 5, 6, -65515, 5, 7, -65486, 5, 65542, -65485, 5, 65543, -65484, 5, 65543, -65483, 5, 65543, -65482, 5, 65543, -65481, 5, 65543, -65480, 5, 65544, -65474, 5, 6, 65520, 5, 524293, 65522, 5, 7, 65530, 5, 6, 65534, 5, 7, 2, 5, 6, 4, 5, 65538, 5, 5, 2, 6, 5, 2, 7, 5, 5, 15, 5, 6, 21, 5, 7, 29, 5, 1, 30, 5, 2, 31, 5, 2, 32, 5, 2, 33, 5, 2, 34, 5, 2, 35, 5, 2, 36, 5, 2, 37, 5, 2, 38, 5, 2, 39, 5, 2, 40, 5, 2, 41, 5, 2, 42, 5, 2, 43, 5, 5, 62, 5, 6, 131056, 5, 524293, 131058, 5, 7, 131066, 5, 6, 131071, 5, 2, 65536, 5, 2, 65537, 5, 2, 65538, 5, 65540, 65539, 5, 10, 65540, 5, 10, 65541, 5, 10, 65542, 5, 10, 65543, 5, 65536, 65551, 5, 6, 65557, 5, 7, 65565, 5, 6, 65579, 5, 7, 65598, 5, 6, 196592, 5, 524293, 196594, 5, 7, 196602, 5, 9, 196603, 5, 10, 196604, 5, 10, 196605, 5, 10, 196606, 5, 10, 196607, 5, 10, 131072, 5, 10, 131073, 5, 10, 131074, 5, 65536, 131087, 5, 6, 131093, 5, 7, 131101, 5, 6, 131115, 5, 7, 131134, 5, 6, 262128, 5, 524293, 262130, 5, 7, 196619, 5, 1, 196620, 5, 2, 196621, 5, 2, 196622, 5, 2, 196623, 5, 65539, 196629, 5, 7, 196637, 5, 6, 196651, 5, 7, 196670, 5, 6, 327664, 5, 524293, 327666, 5, 7, 262155, 5, 9, 262156, 5, 10, 262157, 5, 10, 262158, 5, 10, 262159, 5, 10, 262160, 5, 10, 262161, 5, 10, 262162, 5, 10, 262163, 5, 10, 262164, 5, 10, 262165, 5, 65536, 262173, 5, 6, 262187, 5, 7, 262206, 5, 6, 393200, 5, 524293, 393202, 5, 7, 327709, 5, 6, 327723, 5, 7, 327742, 5, 6, 458736, 5, 524293, 458738, 5, 7, 393245, 5, 6, 393259, 5, 7, 393278, 5, 6, 524272, 5, 524293, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 536870917, 2, 524280, 536870917, 2, 524281, 536870917, 2, 524282, 536870917, 2, 524283, 536870917, 2, 524284, 536870917, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 3, 458764, 5, 3, 458765, 5, 3, 458766, 5, 3, 458767, 5, 3, 458768, 5, 3, 458769, 5, 3, 458770, 5, 3, 458771, 5, 3, 458772, 5, 3, 458773, 5, 3, 458774, 5, 3, 458775, 5, 3, 458776, 5, 3, 458777, 5, 3, 458778, 5, 3, 458779, 5, 3, 458780, 5, 3, 458781, 5, 65539, 458795, 5, 7, 458814, 5, 6, 589808, 5, 524293, 524331, 5, 65536, 524350, 5, 9, 655344, 5, 524293, 655345, 5, 524293, 655346, 5, 524293, 655347, 5, 524293, 655348, 5, 524293, 655349, 5, 524293, 655350, 5, 524293, 655351, 5, 524293, 655352, 5, 524293, 655353, 5, 524293, 655354, 5, 524293, 655355, 5, 524293, 655356, 5, 524293 ) [node name="DropThroughPlatforms" type="TileMap" parent="."] tile_set = ExtResource( 4 ) @@ -146,6 +151,12 @@ position = Vector2( 764, 100 ) [node name="Spikes12" parent="Obstacles" instance=ExtResource( 11 )] position = Vector2( 788, 100 ) +[node name="Coin" parent="." instance=ExtResource( 14 )] +position = Vector2( 6, 0 ) + +[node name="Caterpillar" parent="." instance=ExtResource( 15 )] +position = Vector2( -96, 105 ) + [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [editable path="SignalManager"] diff --git a/src/Levels/3 Tutorial Level.tscn b/src/Levels/3 Tutorial Level.tscn index 9ed97d8..12771d2 100644 --- a/src/Levels/3 Tutorial Level.tscn +++ b/src/Levels/3 Tutorial Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=2] +[gd_scene load_steps=20 format=2] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1] [ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=2] @@ -15,6 +15,7 @@ [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=13] [ext_resource path="res://src/Platforms/FlyingPlatform.tscn" type="PackedScene" id=14] [ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15] +[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=16] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -80,10 +81,10 @@ wait_time = 20.0 unique_name_in_owner = true [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 2 +frame = 3 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 1 +frame = 2 [node name="Blobby" parent="." instance=ExtResource( 10 )] unique_name_in_owner = true @@ -179,6 +180,12 @@ scale = Vector2( 0.75, 1 ) autoplay = "Path" anims/Path = SubResource( 6 ) +[node name="Coin" parent="." instance=ExtResource( 16 )] +position = Vector2( 383, -31 ) + +[node name="Coin2" parent="." instance=ExtResource( 16 )] +position = Vector2( 496, -337 ) + [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [editable path="SignalManager"] diff --git a/src/Levels/4 Tutorial Level.tscn b/src/Levels/4 Tutorial Level.tscn index 7732d4b..351dbfa 100644 --- a/src/Levels/4 Tutorial Level.tscn +++ b/src/Levels/4 Tutorial Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=2] +[gd_scene load_steps=22 format=2] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2] @@ -15,11 +15,10 @@ [ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=13] [ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=14] [ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15] -[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=16] -[ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=17] +[ext_resource path="res://src/Platforms/FlyingPlatform.tscn" type="PackedScene" id=16] +[ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.tscn" type="PackedScene" id=17] [ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=18] [ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=19] -[ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.tscn" type="PackedScene" id=20] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -46,102 +45,6 @@ 0/shapes = [ ] 0/z_index = 0 -[sub_resource type="Animation" id=6] -resource_name = "Path" -length = 6.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 3 ), -"transitions": PoolRealArray( 1, 0.965936 ), -"update": 0, -"values": [ Vector2( 0, 0 ), Vector2( 48, 0 ) ] -} - -[sub_resource type="Animation" id=7] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} - -[sub_resource type="Animation" id=8] -resource_name = "Path" -length = 6.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 3 ), -"transitions": PoolRealArray( 1, 0.965936 ), -"update": 0, -"values": [ Vector2( 0, 0 ), Vector2( -48, 0 ) ] -} - -[sub_resource type="Animation" id=9] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} - -[sub_resource type="Animation" id=10] -resource_name = "Path" -length = 12.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 6 ), -"transitions": PoolRealArray( 1, 0.965936 ), -"update": 0, -"values": [ Vector2( 0, 0 ), Vector2( 0, 192 ) ] -} - -[sub_resource type="Animation" id=11] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} - [node name="LevelTemplate" type="Node2D"] script = ExtResource( 4 ) __meta__ = { @@ -165,10 +68,10 @@ unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 1 +frame = 0 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 0 +frame = 13 [node name="Blobby" parent="." instance=ExtResource( 8 )] unique_name_in_owner = true @@ -188,7 +91,7 @@ collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 -tile_data = PoolIntArray( -458758, 5, 10, -458757, 5, 10, -458756, 5, 10, -458755, 5, 10, -458754, 5, 10, -458753, 5, 10, -524288, 5, 10, -524287, 5, 10, -524286, 5, 10, -524285, 5, 10, -524284, 5, 10, -524283, 5, 10, -524282, 5, 65541, -524278, 5, 65540, -524277, 5, 10, -524276, 5, 10, -524275, 5, 10, -524274, 5, 10, -524273, 5, 10, -524272, 5, 10, -524271, 5, 10, -524270, 5, 10, -524269, 5, 10, -524268, 5, 10, -524267, 5, 10, -524266, 5, 10, -524265, 5, 10, -524264, 5, 10, -524263, 5, 10, -524262, 5, 10, -524261, 5, 10, -524260, 5, 10, -524259, 5, 10, -524258, 5, 10, -524257, 5, 10, -524256, 5, 10, -524255, 5, 10, -524254, 5, 10, -524253, 5, 10, -524252, 5, 10, -524251, 5, 10, -524250, 5, 10, -524249, 5, 10, -524248, 5, 10, -524247, 5, 10, -524246, 5, 10, -524245, 5, 10, -524244, 5, 10, -524243, 5, 10, -524242, 5, 10, -524241, 5, 10, -524240, 5, 10, -524239, 5, 10, -524238, 5, 10, -524237, 5, 10, -524236, 5, 10, -524235, 5, 10, -393223, 5, 8, -458746, 5, 9, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 65536, -458698, 5, 6, -327687, 5, 8, -393162, 5, 6, -262151, 5, 8, -327626, 5, 6, -196615, 5, 8, -262090, 5, 6, -131079, 5, 8, -196554, 5, 6, -65543, 5, 8, -131018, 5, 6, -7, 5, 8, -65524, 5, 2, -65523, 5, 2, -65522, 5, 2, -65521, 5, 2, -65514, 5, 2, -65513, 5, 2, -65512, 5, 2, -65482, 5, 6, 65530, 5, 3, 65531, 5, 3, 65532, 5, 3, 65533, 5, 3, 65534, 5, 3, 65535, 5, 3, 0, 5, 3, 1, 5, 3, 2, 5, 3, 3, 5, 3, 4, 5, 3, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 22, 5, 10, 23, 5, 10, 24, 5, 10, 54, 5, 6, 131066, 5, 8, 65590, 5, 6, 196602, 5, 8, 131123, 5, 2, 131124, 5, 2, 131125, 5, 2, 262138, 5, 8, 196659, 5, 6, 196662, 5, 6, 327674, 5, 8, 262195, 5, 6, 262198, 5, 6, 393210, 5, 8, 327686, 5, 2, 327687, 5, 2, 327688, 5, 2, 327689, 5, 2, 327690, 5, 2, 327691, 5, 2, 327692, 5, 2, 327693, 5, 2, 327694, 5, 2, 327695, 5, 2, 327696, 5, 2, 327697, 5, 2, 327698, 5, 2, 327699, 5, 2, 327700, 5, 2, 327701, 5, 2, 327702, 5, 2, 327703, 5, 2, 327704, 5, 2, 327705, 5, 2, 327706, 5, 2, 327707, 5, 2, 327708, 5, 2, 327709, 5, 2, 327710, 5, 2, 327711, 5, 2, 327712, 5, 2, 327713, 5, 2, 327714, 5, 2, 327715, 5, 2, 327716, 5, 2, 327717, 5, 2, 327718, 5, 2, 327719, 5, 2, 327720, 5, 2, 327721, 5, 2, 327722, 5, 2, 327723, 5, 2, 327724, 5, 2, 327725, 5, 2, 327726, 5, 2, 327727, 5, 2, 327728, 5, 2, 327729, 5, 2, 327730, 5, 2, 327734, 5, 6, 458746, 5, 8, 393270, 5, 6, 524282, 5, 8, 458806, 5, 6, 589818, 5, 8, 524342, 5, 6, 655354, 5, 8, 589878, 5, 6, 720890, 5, 8, 655414, 5, 6, 786426, 5, 8, 720950, 5, 6, 851962, 5, 8, 786486, 5, 6, 917498, 5, 8, 852022, 5, 6, 983034, 5, 8, 917558, 5, 6, 1048570, 5, 8, 983052, 5, 2, 983053, 5, 2, 983054, 5, 2, 983061, 5, 2, 983062, 5, 2, 983063, 5, 2, 983064, 5, 2, 983071, 5, 2, 983072, 5, 2, 983073, 5, 2, 983074, 5, 2, 983075, 5, 2, 983094, 5, 6, 1114106, 5, 8, 1048588, 5, 10, 1048589, 5, 10, 1048590, 5, 10, 1048597, 5, 10, 1048598, 5, 10, 1048599, 5, 10, 1048600, 5, 10, 1048607, 5, 10, 1048608, 5, 10, 1048609, 5, 10, 1048610, 5, 10, 1048611, 5, 10, 1048630, 5, 6, 1179642, 5, 8, 1114166, 5, 6, 1245178, 5, 8, 1179702, 5, 6, 1310714, 5, 8, 1245238, 5, 6, 1376250, 5, 8, 1310768, 5, 2, 1310769, 5, 2, 1310770, 5, 2, 1310771, 5, 2, 1310772, 5, 2, 1310773, 5, 2, 1441786, 5, 8, 1376310, 5, 6, 1507322, 5, 8, 1441846, 5, 6, 1572858, 5, 8, 1507382, 5, 6, 1638395, 5, 3, 1638396, 5, 3, 1638397, 5, 3, 1638398, 5, 3, 1638399, 5, 3, 1572864, 5, 3, 1572865, 5, 3, 1572866, 5, 3, 1572867, 5, 3, 1572868, 5, 3, 1572869, 5, 3, 1572870, 5, 3, 1572871, 5, 3, 1572872, 5, 3, 1572873, 5, 3, 1572874, 5, 3, 1572875, 5, 3, 1572876, 5, 3, 1572877, 5, 3, 1572878, 5, 2, 1572879, 5, 2, 1572880, 5, 2, 1572881, 5, 2, 1572882, 5, 2, 1572883, 5, 2, 1572884, 5, 2, 1572885, 5, 2, 1572886, 5, 2, 1572887, 5, 2, 1572888, 5, 2, 1572889, 5, 2, 1572890, 5, 2, 1572891, 5, 2, 1572892, 5, 2, 1572893, 5, 2, 1572894, 5, 2, 1572895, 5, 2, 1572896, 5, 2, 1572897, 5, 2, 1572898, 5, 2, 1572899, 5, 2, 1572900, 5, 2, 1572901, 5, 2, 1572902, 5, 2, 1572903, 5, 2, 1572904, 5, 2, 1572905, 5, 2, 1572906, 5, 2, 1572907, 5, 2, 1572908, 5, 2, 1572909, 5, 2, 1572910, 5, 2, 1572911, 5, 2, 1572912, 5, 2, 1572913, 5, 2, 1572914, 5, 2, 1572915, 5, 2, 1572916, 5, 2, 1572917, 5, 2 ) +tile_data = PoolIntArray( -458759, 5, 65540, -458758, 5, 10, -458757, 5, 10, -458756, 5, 10, -458755, 5, 10, -458754, 5, 10, -458753, 5, 10, -524288, 5, 10, -524287, 5, 10, -524286, 5, 10, -524285, 5, 10, -524284, 5, 10, -524283, 5, 10, -524282, 5, 65541, -524278, 5, 65540, -524277, 5, 10, -524276, 5, 10, -524275, 5, 10, -524274, 5, 10, -524273, 5, 10, -524272, 5, 10, -524271, 5, 10, -524270, 5, 10, -524269, 5, 10, -524268, 5, 10, -524267, 5, 10, -524266, 5, 10, -524265, 5, 10, -524264, 5, 10, -524263, 5, 10, -524262, 5, 10, -524261, 5, 10, -524260, 5, 10, -524259, 5, 10, -524258, 5, 10, -524257, 5, 10, -524256, 5, 10, -524255, 5, 10, -524254, 5, 10, -524253, 5, 10, -524252, 5, 10, -524251, 5, 10, -524250, 5, 10, -524249, 5, 10, -524248, 5, 10, -524247, 5, 10, -524246, 5, 10, -524245, 5, 10, -524244, 5, 10, -524243, 5, 10, -524242, 5, 10, -524241, 5, 10, -524240, 5, 10, -524239, 5, 10, -524238, 5, 10, -524237, 5, 10, -524236, 5, 10, -524235, 5, 10, -524234, 5, 65541, -393223, 5, 8, -458746, 5, 9, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 65536, -458698, 5, 6, -327687, 5, 8, -393162, 5, 6, -262151, 5, 8, -327626, 5, 6, -196615, 5, 8, -262090, 5, 6, -131079, 5, 8, -196554, 5, 6, -65543, 5, 8, -131018, 5, 6, -7, 5, 8, -65524, 5, 1, -65523, 5, 2, -65522, 5, 2, -65521, 5, 4, -65514, 5, 1, -65513, 5, 2, -65512, 5, 4, -65482, 5, 6, 65529, 5, 65538, 65530, 5, 3, 65531, 5, 3, 65532, 5, 3, 65533, 5, 3, 65534, 5, 3, 65535, 5, 3, 0, 5, 3, 1, 5, 3, 2, 5, 3, 3, 5, 3, 4, 5, 5, 12, 5, 9, 13, 5, 10, 14, 5, 10, 15, 5, 65536, 22, 5, 9, 23, 5, 10, 24, 5, 65536, 54, 5, 6, 131066, 5, 65540, 131067, 5, 10, 131068, 5, 10, 131069, 5, 10, 131070, 5, 10, 131071, 5, 10, 65536, 5, 10, 65537, 5, 10, 65538, 5, 10, 65539, 5, 10, 65540, 5, 65536, 65590, 5, 6, 196602, 5, 8, 131123, 5, 1, 131124, 5, 2, 131125, 5, 2, 131126, 5, 65539, 262138, 5, 8, 196659, 5, 6, 327674, 5, 8, 262195, 5, 6, 393210, 5, 8, 327686, 5, 1, 327687, 5, 3, 327688, 5, 2, 327689, 5, 2, 327690, 5, 2, 327691, 5, 2, 327692, 5, 2, 327693, 5, 2, 327694, 5, 2, 327695, 5, 2, 327696, 5, 2, 327697, 5, 2, 327698, 5, 2, 327699, 5, 2, 327700, 5, 2, 327701, 5, 2, 327702, 5, 2, 327703, 5, 2, 327704, 5, 2, 327705, 5, 2, 327706, 5, 2, 327707, 5, 2, 327708, 5, 2, 327709, 5, 2, 327710, 5, 2, 327711, 5, 2, 327712, 5, 2, 327713, 5, 2, 327714, 5, 2, 327715, 5, 2, 327716, 5, 2, 327717, 5, 2, 327718, 5, 2, 327719, 5, 2, 327720, 5, 2, 327721, 5, 2, 327722, 5, 2, 327723, 5, 2, 327724, 5, 2, 327725, 5, 2, 327726, 5, 2, 327727, 5, 2, 327728, 5, 2, 327729, 5, 2, 327730, 5, 2, 327731, 5, 65539, 458746, 5, 8, 393222, 5, 9, 393223, 5, 10, 393224, 5, 10, 393225, 5, 10, 393226, 5, 65541, 393227, 5, 65540, 393228, 5, 10, 393229, 5, 10, 393230, 5, 10, 393231, 5, 10, 393232, 5, 10, 393233, 5, 10, 393234, 5, 10, 393235, 5, 10, 393236, 5, 10, 393237, 5, 10, 393238, 5, 10, 393239, 5, 10, 393240, 5, 10, 393241, 5, 10, 393242, 5, 10, 393243, 5, 10, 393244, 5, 10, 393245, 5, 10, 393246, 5, 10, 393247, 5, 10, 393248, 5, 10, 393249, 5, 10, 393250, 5, 10, 393251, 5, 10, 393252, 5, 10, 393253, 5, 10, 393254, 5, 10, 393255, 5, 10, 393256, 5, 10, 393257, 5, 10, 393258, 5, 10, 393259, 5, 10, 393260, 5, 10, 393261, 5, 10, 393262, 5, 10, 393263, 5, 10, 393264, 5, 10, 393265, 5, 10, 393266, 5, 10, 393267, 5, 10, 393268, 5, 10, 393269, 5, 10, 393270, 5, 65541, 524282, 5, 8, 458762, 5, 6, 458763, 5, 8, 458806, 5, 6, 589818, 5, 8, 524298, 5, 6, 524299, 5, 8, 524342, 5, 6, 655354, 5, 8, 589834, 5, 6, 589835, 5, 8, 589878, 5, 6, 720890, 5, 8, 655370, 5, 6, 655371, 5, 8, 655414, 5, 6, 786426, 5, 8, 720906, 5, 6, 720907, 5, 7, 720950, 5, 6, 851962, 5, 8, 786442, 5, 6, 786443, 5, 7, 786486, 5, 6, 917498, 5, 8, 851978, 5, 6, 851979, 5, 7, 852022, 5, 6, 983034, 5, 8, 917514, 5, 6, 917515, 5, 7, 917558, 5, 6, 1048570, 5, 8, 983050, 5, 6, 983051, 5, 65538, 983052, 5, 2, 983053, 5, 2, 983054, 5, 4, 983061, 5, 1, 983062, 5, 2, 983063, 5, 2, 983064, 5, 5, 983071, 5, 1, 983072, 5, 3, 983073, 5, 2, 983074, 5, 2, 983075, 5, 5, 983094, 5, 6, 1114106, 5, 8, 1048586, 5, 9, 1048587, 5, 10, 1048588, 5, 10, 1048589, 5, 10, 1048590, 5, 65536, 1048597, 5, 9, 1048598, 5, 10, 1048599, 5, 10, 1048600, 5, 65536, 1048607, 5, 9, 1048608, 5, 10, 1048609, 5, 10, 1048610, 5, 10, 1048611, 5, 65536, 1048630, 5, 6, 1179642, 5, 8, 1114166, 5, 6, 1245178, 5, 8, 1179702, 5, 6, 1310714, 5, 8, 1245238, 5, 6, 1376250, 5, 8, 1310768, 5, 1, 1310769, 5, 2, 1310770, 5, 2, 1310771, 5, 2, 1310772, 5, 2, 1310773, 5, 2, 1310774, 5, 6, 1441786, 5, 8, 1376310, 5, 6, 1507322, 5, 8, 1441846, 5, 6, 1572858, 5, 8, 1507382, 5, 6, 1638395, 5, 3, 1638396, 5, 3, 1638397, 5, 3, 1638398, 5, 3, 1638399, 5, 3, 1572864, 5, 3, 1572865, 5, 3, 1572866, 5, 3, 1572867, 5, 3, 1572868, 5, 3, 1572869, 5, 3, 1572870, 5, 3, 1572871, 5, 3, 1572872, 5, 3, 1572873, 5, 3, 1572874, 5, 3, 1572875, 5, 3, 1572876, 5, 3, 1572877, 5, 3, 1572878, 5, 2, 1572879, 5, 2, 1572880, 5, 2, 1572881, 5, 2, 1572882, 5, 2, 1572883, 5, 2, 1572884, 5, 2, 1572885, 5, 2, 1572886, 5, 2, 1572887, 5, 2, 1572888, 5, 2, 1572889, 5, 2, 1572890, 5, 2, 1572891, 5, 2, 1572892, 5, 2, 1572893, 5, 2, 1572894, 5, 2, 1572895, 5, 2, 1572896, 5, 2, 1572897, 5, 2, 1572898, 5, 2, 1572899, 5, 2, 1572900, 5, 2, 1572901, 5, 2, 1572902, 5, 2, 1572903, 5, 2, 1572904, 5, 2, 1572905, 5, 2, 1572906, 5, 2, 1572907, 5, 2, 1572908, 5, 2, 1572909, 5, 2, 1572910, 5, 2, 1572911, 5, 2, 1572912, 5, 2, 1572913, 5, 2, 1572914, 5, 2, 1572915, 5, 2, 1572916, 5, 2, 1572917, 5, 2, 1572918, 5, 65539 ) [node name="DropThroughPlatforms" type="TileMap" parent="."] tile_set = ExtResource( 2 ) @@ -209,9 +112,6 @@ position = Vector2( 0, 24 ) scale = Vector2( 0.5, 0.5 ) next_scene = "res://src/Levels/5 Tutorial Level.tscn" -[node name="DartingEnemy" parent="ElevatorButton/Portal" instance=ExtResource( 20 )] -position = Vector2( -192, -301 ) - [node name="Obstacles" type="Node2D" parent="."] position = Vector2( -412, -173 ) @@ -247,81 +147,6 @@ position = Vector2( 377, -23 ) [node name="Caterpillar2" parent="." instance=ExtResource( 15 )] position = Vector2( 368, 233 ) -[node name="FlyingPlatform2" type="Node2D" parent="."] -position = Vector2( 520, -16 ) -script = ExtResource( 16 ) - -[node name="anim" type="AnimationPlayer" parent="FlyingPlatform2"] -autoplay = "Path" -playback_process_mode = 0 -anims/Path = SubResource( 6 ) -anims/RESET = SubResource( 7 ) - -[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform2"] -collision_layer = 8 -collision_mask = 0 - -[node name="Sprite" type="Sprite" parent="FlyingPlatform2/KinematicBody2D"] -position = Vector2( 0, 8 ) -texture = ExtResource( 17 ) -vframes = 8 -frame = 1 - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform2/KinematicBody2D"] -position = Vector2( 0, 4 ) -scale = Vector2( 4, 0.4 ) -polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) - -[node name="FlyingPlatform3" type="Node2D" parent="."] -position = Vector2( 728, -16 ) -script = ExtResource( 16 ) - -[node name="anim" type="AnimationPlayer" parent="FlyingPlatform3"] -autoplay = "Path" -playback_process_mode = 0 -anims/Path = SubResource( 8 ) -anims/RESET = SubResource( 9 ) - -[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform3"] -collision_layer = 8 -collision_mask = 0 - -[node name="Sprite" type="Sprite" parent="FlyingPlatform3/KinematicBody2D"] -position = Vector2( 0, 8 ) -texture = ExtResource( 17 ) -vframes = 8 -frame = 1 - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform3/KinematicBody2D"] -position = Vector2( 0, 4 ) -scale = Vector2( 4, 0.4 ) -polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) - -[node name="FlyingPlatform4" type="Node2D" parent="."] -position = Vector2( 7, 110 ) -script = ExtResource( 16 ) - -[node name="anim" type="AnimationPlayer" parent="FlyingPlatform4"] -autoplay = "Path" -playback_process_mode = 0 -anims/Path = SubResource( 10 ) -anims/RESET = SubResource( 11 ) - -[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform4"] -collision_layer = 8 -collision_mask = 0 - -[node name="Sprite" type="Sprite" parent="FlyingPlatform4/KinematicBody2D"] -position = Vector2( 0, 8 ) -texture = ExtResource( 17 ) -vframes = 8 -frame = 1 - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform4/KinematicBody2D"] -position = Vector2( 0, 4 ) -scale = Vector2( 4, 0.4 ) -polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) - [node name="GateButton" parent="." instance=ExtResource( 18 )] position = Vector2( 216, 223 ) @@ -339,6 +164,25 @@ rotation = 1.5708 position = Vector2( 288, 256 ) rotation = -1.5708 +[node name="FlyingPlatform" parent="." instance=ExtResource( 16 )] +position = Vector2( 8, 80 ) +y_target = 240 + +[node name="FlyingPlatform2" parent="." instance=ExtResource( 16 )] +position = Vector2( 720, -16 ) +x_target = -48 +speed = 16 + +[node name="FlyingPlatform3" parent="." instance=ExtResource( 16 )] +position = Vector2( 504, -16 ) +x_target = 48 +speed = 16 + +[node name="DartingEnemy" parent="." instance=ExtResource( 17 )] +position = Vector2( 609, 67 ) +speed = 300 +acceleration = 800 + [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [editable path="SignalManager"] diff --git a/src/Levels/5 Tutorial Level.tscn b/src/Levels/5 Tutorial Level.tscn index 5d79692..afba8ab 100644 --- a/src/Levels/5 Tutorial Level.tscn +++ b/src/Levels/5 Tutorial Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=41 format=2] +[gd_scene load_steps=42 format=2] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2] @@ -18,6 +18,7 @@ [ext_resource path="res://src/StateMachines/FlyerStateMachine.gd" type="Script" id=16] [ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=17] [ext_resource path="res://assets/enemy/flyer-sheet.png" type="Texture" id=18] +[ext_resource path="res://src/Contraptions/VendingMachine.tscn" type="PackedScene" id=19] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -285,8 +286,11 @@ wait_time = 20.0 unique_name_in_owner = true drag_margin_bottom = 0.3 +[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] +frame = 6 + [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 12 +frame = 5 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true @@ -420,6 +424,9 @@ cast_to = Vector2( 0, -1 ) collision_mask = 9 collide_with_areas = true +[node name="VendingMachine" parent="." instance=ExtResource( 19 )] +position = Vector2( 48, 100 ) + [node name="TileMap" type="TileMap" parent="."] unique_name_in_owner = true tile_set = ExtResource( 1 ) @@ -430,7 +437,7 @@ collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 -tile_data = PoolIntArray( -393230, 1610612741, 65539, -393229, 5, 10, -393228, 5, 10, -393227, 5, 10, -393226, 5, 10, -393225, 5, 10, -393224, 5, 10, -393223, 5, 10, -393222, 5, 10, -393221, 5, 10, -393220, 5, 10, -393219, 5, 10, -393218, 5, 10, -393217, 5, 10, -458752, 5, 10, -458751, 5, 10, -458750, 5, 10, -458749, 5, 10, -458748, 5, 10, -458747, 5, 10, -458746, 5, 10, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 10, -458741, 5, 10, -458740, 5, 10, -458739, 5, 10, -458738, 5, 10, -458737, 5, 10, -458736, 5, 10, -458735, 5, 10, -458734, 5, 10, -458733, 5, 10, -458732, 5, 10, -458731, 5, 10, -458730, 5, 10, -458729, 5, 10, -458728, 5, 10, -458727, 5, 10, -458726, 5, 10, -458725, 5, 10, -458724, 5, 10, -458723, 5, 10, -458722, 5, 10, -458721, 5, 10, -458720, 5, 10, -327694, 5, 7, -327693, 7, 0, -327692, 7, 0, -327691, 7, 0, -327690, 7, 0, -327689, 7, 0, -327688, 7, 0, -327687, 7, 0, -327686, 7, 0, -327685, 7, 0, -327684, 7, 0, -327683, 7, 0, -327682, 7, 0, -327681, 7, 0, -393216, 7, 0, -393215, 7, 0, -393214, 7, 0, -393213, 7, 0, -393212, 7, 0, -393211, 7, 0, -393210, 5, 8, -393209, 7, 0, -393208, 7, 0, -393207, 7, 0, -393206, 7, 0, -393205, 7, 0, -393204, 7, 0, -393203, 7, 0, -393202, 7, 0, -393201, 7, 0, -393200, 7, 0, -393199, 7, 0, -393198, 7, 0, -393197, 7, 0, -393196, 7, 0, -393195, 7, 0, -393194, 7, 0, -393193, 7, 0, -393192, 7, 0, -393191, 7, 0, -393190, 7, 0, -393189, 7, 0, -393188, 7, 0, -393187, 7, 0, -393186, 7, 0, -393185, 7, 0, -393184, 7, 0, -393183, 5, 6, -262158, 5, 7, -262157, 7, 0, -262156, 7, 0, -262155, 7, 0, -262154, 7, 0, -262153, 7, 0, -262152, 7, 0, -262151, 7, 0, -262150, 7, 0, -262149, 7, 0, -262148, 7, 0, -262147, 7, 0, -262146, 7, 0, -262145, 7, 0, -327680, 7, 0, -327679, 7, 0, -327678, 7, 0, -327677, 7, 0, -327676, 7, 0, -327675, 7, 0, -327674, 5, 8, -327673, 7, 0, -327672, 7, 0, -327671, 7, 0, -327670, 7, 0, -327669, 7, 0, -327668, 7, 0, -327667, 7, 0, -327666, 7, 0, -327665, 7, 0, -327664, 7, 0, -327663, 7, 0, -327662, 7, 0, -327661, 7, 0, -327660, 7, 0, -327659, 7, 0, -327658, 7, 0, -327657, 7, 0, -327656, 7, 0, -327655, 7, 0, -327654, 7, 0, -327653, 7, 0, -327652, 7, 0, -327651, 7, 0, -327650, 7, 0, -327649, 7, 0, -327648, 7, 0, -327647, 5, 6, -196622, 5, 7, -196621, 7, 0, -196620, 7, 0, -196619, 7, 0, -196618, 7, 0, -196617, 7, 0, -196616, 7, 0, -196615, 7, 0, -196614, 7, 0, -196613, 7, 0, -196612, 7, 0, -196611, 7, 0, -196610, 7, 0, -196609, 7, 0, -262144, 7, 0, -262143, 7, 0, -262142, 7, 0, -262141, 7, 0, -262140, 7, 0, -262139, 7, 0, -262138, 5, 8, -262137, 7, 0, -262136, 7, 0, -262135, 7, 0, -262134, 7, 0, -262133, 7, 0, -262132, 7, 0, -262131, 7, 0, -262130, 7, 0, -262129, 7, 0, -262128, 7, 0, -262127, 7, 0, -262126, 7, 0, -262125, 7, 0, -262124, 7, 0, -262123, 7, 0, -262122, 7, 0, -262121, 7, 0, -262120, 7, 0, -262119, 7, 0, -262118, 7, 0, -262117, 7, 0, -262116, 7, 0, -262115, 7, 0, -262114, 7, 0, -262113, 7, 0, -262112, 7, 0, -262111, 5, 6, -131086, 5, 7, -131085, 7, 0, -131084, 7, 0, -131083, 7, 0, -131082, 7, 0, -131081, 7, 0, -131080, 7, 0, -131079, 7, 0, -131078, 7, 0, -131077, 7, 0, -131076, 7, 0, -131075, 7, 0, -131074, 7, 0, -131073, 7, 0, -196608, 7, 0, -196607, 7, 0, -196606, 7, 0, -196605, 7, 0, -196604, 7, 0, -196603, 7, 0, -196602, 5, 8, -196601, 7, 0, -196600, 7, 0, -196599, 7, 0, -196598, 7, 0, -196597, 7, 0, -196596, 7, 0, -196595, 7, 0, -196594, 7, 0, -196593, 7, 0, -196592, 7, 0, -196591, 7, 0, -196590, 7, 0, -196589, 7, 0, -196588, 7, 0, -196587, 7, 0, -196586, 7, 0, -196585, 7, 0, -196584, 7, 0, -196583, 7, 0, -196582, 7, 0, -196581, 7, 0, -196580, 7, 0, -196579, 7, 0, -196578, 7, 0, -196577, 7, 0, -196576, 7, 0, -196575, 5, 6, -65550, 5, 7, -65549, 7, 0, -65548, 7, 0, -65547, 7, 0, -65546, 7, 0, -65545, 7, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 7, 0, -131069, 7, 0, -131068, 7, 0, -131067, 7, 0, -131066, 5, 8, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 7, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 7, 0, -131052, 7, 0, -131051, 7, 0, -131050, 7, 0, -131049, 7, 0, -131048, 7, 0, -131047, 7, 0, -131046, 7, 0, -131045, 7, 0, -131044, 7, 0, -131043, 7, 0, -131042, 7, 0, -131041, 7, 0, -131040, 7, 0, -131039, 5, 6, -14, 5, 7, -13, 7, 0, -12, 7, 0, -11, 7, 0, -10, 7, 0, -9, 7, 0, -8, 7, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 7, 0, -65533, 7, 0, -65532, 7, 0, -65531, 7, 0, -65530, 5, 8, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 7, 0, -65521, 7, 0, -65520, 7, 0, -65519, 7, 0, -65518, 7, 0, -65517, 7, 0, -65516, 7, 0, -65515, 5, 1, -65514, 5, 3, -65513, 5, 3, -65512, 5, 3, -65511, 5, 3, -65510, 5, 3, -65509, 5, 3, -65508, 5, 3, -65507, 5, 3, -65506, 5, 3, -65505, 5, 3, -65504, 5, 3, -65503, 5, 6, 65522, 5, 7, 65523, 7, 0, 65524, 7, 0, 65525, 7, 0, 65526, 7, 0, 65527, 7, 0, 65528, 7, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 7, 0, 3, 7, 0, 4, 7, 0, 5, 7, 0, 6, 5, 8, 7, 7, 0, 8, 7, 0, 9, 7, 0, 10, 7, 0, 11, 7, 0, 12, 7, 0, 13, 7, 0, 14, 7, 0, 15, 7, 0, 16, 7, 0, 17, 7, 0, 18, 7, 0, 19, 7, 0, 20, 7, 0, 21, 5, 6, 33, 5, 6, 131058, 5, 7, 131059, 7, 0, 131060, 7, 0, 131061, 7, 0, 131062, 7, 0, 131063, 7, 0, 131064, 7, 0, 131065, 7, 0, 131066, 7, 0, 131067, 7, 0, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 7, 0, 65536, 7, 0, 65537, 7, 0, 65538, 7, 0, 65539, 7, 0, 65540, 7, 0, 65541, 7, 0, 65542, 5, 8, 65543, 7, 0, 65544, 7, 0, 65545, 7, 0, 65546, 7, 0, 65547, 7, 0, 65548, 7, 0, 65549, 7, 0, 65550, 7, 0, 65551, 7, 0, 65552, 7, 0, 65553, 7, 0, 65554, 7, 0, 65555, 7, 0, 65556, 7, 0, 65557, 5, 9, 65558, 5, 10, 65559, 5, 10, 65560, 5, 10, 65561, 5, 10, 65562, 5, 10, 65563, 5, 10, 65564, 5, 10, 65565, 5, 10, 65566, 5, 10, 65567, 5, 10, 65568, 5, 10, 65569, 5, 6, 196594, 5, 7, 196595, 7, 0, 196596, 7, 0, 196597, 7, 0, 196598, 7, 0, 196599, 7, 0, 196600, 7, 0, 196601, 7, 0, 196602, 7, 0, 196603, 7, 0, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 7, 0, 131072, 7, 0, 131073, 7, 0, 131074, 7, 0, 131075, 7, 0, 131076, 7, 0, 131077, 7, 0, 131078, 5, 8, 131079, 7, 0, 131080, 7, 0, 131081, 7, 0, 131082, 7, 0, 131083, 7, 0, 131084, 7, 0, 131085, 7, 0, 131086, 7, 0, 131087, 7, 0, 131088, 7, 0, 131089, 7, 0, 131090, 7, 0, 131091, 7, 0, 131092, 7, 0, 131093, 7, 0, 131094, 7, 0, 131095, 7, 0, 131096, 7, 0, 131097, 7, 0, 131098, 7, 0, 131099, 7, 0, 131100, 7, 0, 131101, 7, 0, 131102, 7, 0, 131103, 7, 0, 131104, 7, 0, 131105, 5, 6, 262130, 5, 7, 262131, 7, 0, 262132, 7, 0, 262133, 7, 0, 262134, 7, 0, 262135, 7, 0, 262136, 7, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 7, 0, 196614, 7, 0, 196615, 5, 2, 196616, 5, 2, 196617, 5, 2, 196618, 5, 2, 196619, 7, 0, 196620, 7, 0, 196621, 7, 0, 196622, 7, 0, 196623, 7, 0, 196624, 7, 0, 196625, 7, 0, 196626, 7, 0, 196627, 7, 0, 196628, 7, 0, 196629, 7, 0, 196630, 7, 0, 196631, 7, 0, 196632, 7, 0, 196633, 7, 0, 196634, 7, 0, 196635, 7, 0, 196636, 7, 0, 196637, 7, 0, 196638, 7, 0, 196639, 7, 0, 196640, 7, 0, 196641, 5, 6, 327666, 5, 7, 327667, 7, 0, 327668, 7, 0, 327669, 7, 0, 327670, 7, 0, 327671, 7, 0, 327672, 7, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 7, 0, 262150, 7, 0, 262151, 5, 10, 262152, 5, 10, 262153, 5, 10, 262154, 5, 10, 262155, 7, 0, 262156, 7, 0, 262157, 7, 0, 262158, 7, 0, 262159, 7, 0, 262160, 7, 0, 262161, 7, 0, 262162, 7, 0, 262163, 7, 0, 262164, 7, 0, 262165, 7, 0, 262166, 7, 0, 262167, 7, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 262171, 7, 0, 262172, 7, 0, 262173, 7, 0, 262174, 7, 0, 262175, 7, 0, 262176, 7, 0, 262177, 5, 6, 393202, 5, 7, 393203, 7, 0, 393204, 7, 0, 393205, 7, 0, 393206, 7, 0, 393207, 7, 0, 393208, 7, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 7, 0, 327687, 7, 0, 327688, 7, 0, 327689, 7, 0, 327690, 7, 0, 327691, 7, 0, 327692, 7, 0, 327693, 7, 0, 327694, 7, 0, 327695, 7, 0, 327696, 7, 0, 327697, 7, 0, 327698, 7, 0, 327699, 7, 0, 327700, 7, 0, 327701, 7, 0, 327702, 7, 0, 327703, 7, 0, 327704, 7, 0, 327705, 7, 0, 327706, 7, 0, 327707, 7, 0, 327708, 7, 0, 327709, 7, 0, 327710, 7, 0, 327711, 7, 0, 327712, 7, 0, 327713, 5, 6, 458738, 5, 7, 458739, 7, 0, 458740, 7, 0, 458741, 7, 0, 458742, 7, 0, 458743, 7, 0, 458744, 7, 0, 458745, 7, 0, 458746, 7, 0, 458747, 7, 0, 458748, 7, 0, 458749, 7, 0, 458750, 7, 0, 458751, 7, 0, 393216, 7, 0, 393217, 7, 0, 393218, 7, 0, 393219, 7, 0, 393220, 7, 0, 393221, 7, 0, 393222, 7, 0, 393223, 7, 0, 393224, 7, 0, 393225, 7, 0, 393226, 7, 0, 393227, 7, 0, 393228, 7, 0, 393229, 7, 0, 393230, 7, 0, 393231, 7, 0, 393232, 7, 0, 393233, 7, 0, 393234, 7, 0, 393235, 7, 0, 393236, 7, 0, 393237, 7, 0, 393238, 7, 0, 393239, 7, 0, 393240, 7, 0, 393241, 7, 0, 393242, 7, 0, 393243, 7, 0, 393244, 7, 0, 393245, 7, 0, 393246, 7, 0, 393247, 7, 0, 393248, 7, 0, 393249, 5, 6, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 3, 458752, 5, 3, 458753, 5, 3, 458754, 5, 3, 458755, 5, 3, 458756, 5, 3, 458757, 5, 3, 458758, 5, 3, 458759, 5, 3, 458760, 5, 3, 458761, 5, 3, 458762, 5, 3, 458763, 5, 3, 458764, 5, 3, 458765, 5, 3, 458766, 5, 3, 458767, 5, 3, 458768, 5, 3, 458769, 5, 3, 458770, 5, 3, 458771, 5, 3, 458772, 5, 3, 458773, 5, 3, 458774, 5, 3, 458775, 5, 3, 458776, 5, 3, 458777, 5, 3, 458778, 5, 3, 458779, 5, 3, 458780, 5, 3, 458781, 5, 3, 458782, 5, 3, 458783, 5, 3, 458784, 5, 3 ) +tile_data = PoolIntArray( -393230, 1610612741, 65539, -393229, 5, 10, -393228, 5, 10, -393227, 5, 10, -393226, 5, 10, -393225, 5, 10, -393224, 5, 10, -393223, 5, 10, -393222, 5, 10, -393221, 5, 10, -393220, 5, 10, -393219, 5, 10, -393218, 5, 10, -393217, 5, 10, -458752, 5, 10, -458751, 5, 10, -458750, 5, 10, -458749, 5, 10, -458748, 5, 10, -458747, 5, 65541, -458746, 5, 65540, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 10, -458741, 5, 10, -458740, 5, 10, -458739, 5, 10, -458738, 5, 10, -458737, 5, 10, -458736, 5, 10, -458735, 5, 10, -458734, 5, 10, -458733, 5, 10, -458732, 5, 10, -458731, 5, 10, -458730, 5, 10, -458729, 5, 10, -458728, 5, 10, -458727, 5, 10, -458726, 5, 10, -458725, 5, 10, -458724, 5, 10, -458723, 5, 10, -458722, 5, 10, -458721, 5, 10, -458720, 5, 10, -458719, 5, 65541, -327694, 5, 7, -327693, 7, 0, -327692, 7, 0, -327691, 7, 0, -327690, 7, 0, -327689, 7, 0, -327688, 7, 0, -327687, 7, 0, -327686, 7, 0, -327685, 7, 0, -327684, 7, 0, -327683, 7, 0, -327682, 7, 0, -327681, 7, 0, -393216, 7, 0, -393215, 7, 0, -393214, 7, 0, -393213, 7, 0, -393212, 7, 0, -393211, 5, 6, -393210, 5, 8, -393209, 7, 0, -393208, 7, 0, -393207, 7, 0, -393206, 7, 0, -393205, 7, 0, -393204, 7, 0, -393203, 7, 0, -393202, 7, 0, -393201, 7, 0, -393200, 7, 0, -393199, 7, 0, -393198, 7, 0, -393197, 7, 0, -393196, 7, 0, -393195, 7, 0, -393194, 7, 0, -393193, 7, 0, -393192, 7, 0, -393191, 7, 0, -393190, 7, 0, -393189, 7, 0, -393188, 7, 0, -393187, 7, 0, -393186, 7, 0, -393185, 7, 0, -393184, 7, 0, -393183, 5, 6, -262158, 5, 7, -262157, 7, 0, -262156, 7, 0, -262155, 7, 0, -262154, 7, 0, -262153, 7, 0, -262152, 7, 0, -262151, 7, 0, -262150, 7, 0, -262149, 7, 0, -262148, 7, 0, -262147, 7, 0, -262146, 7, 0, -262145, 7, 0, -327680, 7, 0, -327679, 7, 0, -327678, 7, 0, -327677, 7, 0, -327676, 7, 0, -327675, 5, 6, -327674, 5, 8, -327673, 7, 0, -327672, 7, 0, -327671, 7, 0, -327670, 7, 0, -327669, 7, 0, -327668, 7, 0, -327667, 7, 0, -327666, 7, 0, -327665, 7, 0, -327664, 7, 0, -327663, 7, 0, -327662, 7, 0, -327661, 7, 0, -327660, 7, 0, -327659, 7, 0, -327658, 7, 0, -327657, 7, 0, -327656, 7, 0, -327655, 7, 0, -327654, 7, 0, -327653, 7, 0, -327652, 7, 0, -327651, 7, 0, -327650, 7, 0, -327649, 7, 0, -327648, 7, 0, -327647, 5, 6, -196622, 5, 7, -196621, 7, 0, -196620, 7, 0, -196619, 7, 0, -196618, 7, 0, -196617, 7, 0, -196616, 7, 0, -196615, 7, 0, -196614, 7, 0, -196613, 7, 0, -196612, 7, 0, -196611, 7, 0, -196610, 7, 0, -196609, 7, 0, -262144, 7, 0, -262143, 7, 0, -262142, 7, 0, -262141, 7, 0, -262140, 7, 0, -262139, 5, 6, -262138, 5, 8, -262137, 7, 0, -262136, 7, 0, -262135, 7, 0, -262134, 7, 0, -262133, 7, 0, -262132, 7, 0, -262131, 7, 0, -262130, 7, 0, -262129, 7, 0, -262128, 7, 0, -262127, 7, 0, -262126, 7, 0, -262125, 7, 0, -262124, 7, 0, -262123, 7, 0, -262122, 7, 0, -262121, 7, 0, -262120, 7, 0, -262119, 7, 0, -262118, 7, 0, -262117, 7, 0, -262116, 7, 0, -262115, 7, 0, -262114, 7, 0, -262113, 7, 0, -262112, 7, 0, -262111, 5, 6, -131086, 5, 7, -131085, 7, 0, -131084, 7, 0, -131083, 7, 0, -131082, 7, 0, -131081, 7, 0, -131080, 7, 0, -131079, 7, 0, -131078, 7, 0, -131077, 7, 0, -131076, 7, 0, -131075, 7, 0, -131074, 7, 0, -131073, 7, 0, -196608, 7, 0, -196607, 7, 0, -196606, 7, 0, -196605, 7, 0, -196604, 7, 0, -196603, 5, 6, -196602, 5, 8, -196601, 7, 0, -196600, 7, 0, -196599, 7, 0, -196598, 7, 0, -196597, 7, 0, -196596, 7, 0, -196595, 7, 0, -196594, 7, 0, -196593, 7, 0, -196592, 7, 0, -196591, 7, 0, -196590, 7, 0, -196589, 7, 0, -196588, 7, 0, -196587, 7, 0, -196586, 7, 0, -196585, 7, 0, -196584, 7, 0, -196583, 7, 0, -196582, 7, 0, -196581, 7, 0, -196580, 7, 0, -196579, 7, 0, -196578, 7, 0, -196577, 7, 0, -196576, 7, 0, -196575, 5, 6, -65550, 5, 7, -65549, 7, 0, -65548, 7, 0, -65547, 7, 0, -65546, 7, 0, -65545, 7, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 7, 0, -131069, 7, 0, -131068, 7, 0, -131067, 5, 6, -131066, 5, 8, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 7, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 7, 0, -131052, 7, 0, -131051, 7, 0, -131050, 7, 0, -131049, 7, 0, -131048, 7, 0, -131047, 7, 0, -131046, 7, 0, -131045, 7, 0, -131044, 7, 0, -131043, 7, 0, -131042, 7, 0, -131041, 7, 0, -131040, 7, 0, -131039, 5, 6, -14, 5, 7, -13, 7, 0, -12, 7, 0, -11, 7, 0, -10, 7, 0, -9, 7, 0, -8, 7, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 7, 0, -65533, 7, 0, -65532, 7, 0, -65531, 5, 6, -65530, 5, 8, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 7, 0, -65521, 7, 0, -65520, 7, 0, -65519, 7, 0, -65518, 7, 0, -65517, 7, 0, -65516, 7, 0, -65515, 5, 1, -65514, 5, 3, -65513, 5, 3, -65512, 5, 3, -65511, 5, 3, -65510, 5, 3, -65509, 5, 3, -65508, 5, 3, -65507, 5, 3, -65506, 5, 3, -65505, 5, 3, -65504, 5, 3, -65503, 5, 6, 65522, 5, 7, 65523, 7, 0, 65524, 7, 0, 65525, 7, 0, 65526, 7, 0, 65527, 7, 0, 65528, 7, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 7, 0, 3, 7, 0, 4, 7, 0, 5, 5, 6, 6, 5, 8, 7, 7, 0, 8, 7, 0, 9, 7, 0, 10, 7, 0, 11, 7, 0, 12, 7, 0, 13, 7, 0, 14, 7, 0, 15, 7, 0, 16, 7, 0, 17, 7, 0, 18, 7, 0, 19, 7, 0, 20, 7, 0, 21, 5, 6, 33, 5, 6, 131058, 5, 7, 131059, 7, 0, 131060, 7, 0, 131061, 7, 0, 131062, 7, 0, 131063, 7, 0, 131064, 7, 0, 131065, 7, 0, 131066, 7, 0, 131067, 7, 0, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 7, 0, 65536, 7, 0, 65537, 7, 0, 65538, 7, 0, 65539, 7, 0, 65540, 7, 0, 65541, 5, 6, 65542, 5, 8, 65543, 7, 0, 65544, 7, 0, 65545, 7, 0, 65546, 7, 0, 65547, 7, 0, 65548, 7, 0, 65549, 7, 0, 65550, 7, 0, 65551, 7, 0, 65552, 7, 0, 65553, 7, 0, 65554, 7, 0, 65555, 7, 0, 65556, 7, 0, 65557, 5, 9, 65558, 5, 10, 65559, 5, 10, 65560, 5, 10, 65561, 5, 10, 65562, 5, 10, 65563, 5, 10, 65564, 5, 10, 65565, 5, 10, 65566, 5, 10, 65567, 5, 10, 65568, 5, 10, 65569, 5, 6, 196594, 5, 7, 196595, 7, 0, 196596, 7, 0, 196597, 7, 0, 196598, 7, 0, 196599, 7, 0, 196600, 7, 0, 196601, 7, 0, 196602, 7, 0, 196603, 7, 0, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 7, 0, 131072, 7, 0, 131073, 7, 0, 131074, 7, 0, 131075, 7, 0, 131076, 7, 0, 131077, 5, 6, 131078, 5, 8, 131079, 7, 0, 131080, 7, 0, 131081, 7, 0, 131082, 7, 0, 131083, 7, 0, 131084, 7, 0, 131085, 7, 0, 131086, 7, 0, 131087, 7, 0, 131088, 7, 0, 131089, 7, 0, 131090, 7, 0, 131091, 7, 0, 131092, 7, 0, 131093, 7, 0, 131094, 7, 0, 131095, 7, 0, 131096, 7, 0, 131097, 7, 0, 131098, 7, 0, 131099, 7, 0, 131100, 7, 0, 131101, 7, 0, 131102, 7, 0, 131103, 7, 0, 131104, 7, 0, 131105, 5, 6, 262130, 5, 7, 262131, 7, 0, 262132, 7, 0, 262133, 7, 0, 262134, 7, 0, 262135, 7, 0, 262136, 7, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 5, 6, 196614, 5, 65538, 196615, 5, 2, 196616, 5, 2, 196617, 5, 2, 196618, 5, 4, 196619, 7, 0, 196620, 7, 0, 196621, 7, 0, 196622, 7, 0, 196623, 7, 0, 196624, 7, 0, 196625, 7, 0, 196626, 7, 0, 196627, 7, 0, 196628, 7, 0, 196629, 7, 0, 196630, 7, 0, 196631, 7, 0, 196632, 7, 0, 196633, 7, 0, 196634, 7, 0, 196635, 7, 0, 196636, 7, 0, 196637, 7, 0, 196638, 7, 0, 196639, 7, 0, 196640, 7, 0, 196641, 5, 6, 327666, 5, 7, 327667, 7, 0, 327668, 7, 0, 327669, 7, 0, 327670, 7, 0, 327671, 7, 0, 327672, 7, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 5, 9, 262150, 5, 10, 262151, 5, 10, 262152, 5, 10, 262153, 5, 10, 262154, 5, 65536, 262155, 7, 0, 262156, 7, 0, 262157, 7, 0, 262158, 7, 0, 262159, 7, 0, 262160, 7, 0, 262161, 7, 0, 262162, 7, 0, 262163, 7, 0, 262164, 7, 0, 262165, 7, 0, 262166, 7, 0, 262167, 7, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 262171, 7, 0, 262172, 7, 0, 262173, 7, 0, 262174, 7, 0, 262175, 7, 0, 262176, 7, 0, 262177, 5, 6, 393202, 5, 7, 393203, 7, 0, 393204, 7, 0, 393205, 7, 0, 393206, 7, 0, 393207, 7, 0, 393208, 7, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 7, 0, 327687, 7, 0, 327688, 7, 0, 327689, 7, 0, 327690, 7, 0, 327691, 7, 0, 327692, 7, 0, 327693, 7, 0, 327694, 7, 0, 327695, 7, 0, 327696, 7, 0, 327697, 7, 0, 327698, 7, 0, 327699, 7, 0, 327700, 7, 0, 327701, 7, 0, 327702, 7, 0, 327703, 7, 0, 327704, 7, 0, 327705, 7, 0, 327706, 7, 0, 327707, 7, 0, 327708, 7, 0, 327709, 7, 0, 327710, 7, 0, 327711, 7, 0, 327712, 7, 0, 327713, 5, 6, 458738, 5, 7, 458739, 7, 0, 458740, 7, 0, 458741, 7, 0, 458742, 7, 0, 458743, 7, 0, 458744, 7, 0, 458745, 7, 0, 458746, 7, 0, 458747, 7, 0, 458748, 7, 0, 458749, 7, 0, 458750, 7, 0, 458751, 7, 0, 393216, 7, 0, 393217, 7, 0, 393218, 7, 0, 393219, 7, 0, 393220, 7, 0, 393221, 7, 0, 393222, 7, 0, 393223, 7, 0, 393224, 7, 0, 393225, 7, 0, 393226, 7, 0, 393227, 7, 0, 393228, 7, 0, 393229, 7, 0, 393230, 7, 0, 393231, 7, 0, 393232, 7, 0, 393233, 7, 0, 393234, 7, 0, 393235, 7, 0, 393236, 7, 0, 393237, 7, 0, 393238, 7, 0, 393239, 7, 0, 393240, 7, 0, 393241, 7, 0, 393242, 7, 0, 393243, 7, 0, 393244, 7, 0, 393245, 7, 0, 393246, 7, 0, 393247, 7, 0, 393248, 7, 0, 393249, 5, 6, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 3, 458752, 5, 3, 458753, 5, 3, 458754, 5, 3, 458755, 5, 3, 458756, 5, 3, 458757, 5, 3, 458758, 5, 3, 458759, 5, 3, 458760, 5, 3, 458761, 5, 3, 458762, 5, 3, 458763, 5, 3, 458764, 5, 3, 458765, 5, 3, 458766, 5, 3, 458767, 5, 3, 458768, 5, 3, 458769, 5, 3, 458770, 5, 3, 458771, 5, 3, 458772, 5, 3, 458773, 5, 3, 458774, 5, 3, 458775, 5, 3, 458776, 5, 3, 458777, 5, 3, 458778, 5, 3, 458779, 5, 3, 458780, 5, 3, 458781, 5, 3, 458782, 5, 3, 458783, 5, 3, 458784, 5, 3, 458785, 5, 65539 ) [node name="DropThroughPlatforms" type="TileMap" parent="."] tile_set = ExtResource( 2 ) diff --git a/src/Levels/6 Tutorial Level.tscn b/src/Levels/6 Tutorial Level.tscn index 3756956..3dd2b8d 100644 --- a/src/Levels/6 Tutorial Level.tscn +++ b/src/Levels/6 Tutorial Level.tscn @@ -259,10 +259,10 @@ visible = false drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 8 +frame = 11 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 7 +frame = 10 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true @@ -282,7 +282,7 @@ collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 -tile_data = PoolIntArray( -393228, 5, 10, -393227, 5, 10, -393226, 5, 10, -393225, 5, 10, -393224, 5, 10, -393223, 5, 10, -393222, 5, 10, -393221, 5, 10, -393220, 5, 10, -393219, 5, 10, -393218, 5, 10, -393217, 5, 10, -458752, 5, 10, -458751, 5, 10, -458750, 5, 10, -458749, 5, 10, -458748, 5, 10, -458747, 5, 10, -458746, 5, 10, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 10, -458741, 5, 10, -458740, 5, 10, -458739, 5, 10, -458738, 5, 10, -327692, 5, 7, -327691, 7, 0, -327690, 7, 0, -327689, 7, 0, -327688, 7, 0, -327687, 7, 0, -327686, 7, 0, -327685, 7, 0, -327684, 7, 0, -327683, 7, 0, -327682, 7, 0, -327681, 7, 0, -393216, 7, 0, -393215, 7, 0, -393214, 5, 6, -393213, 5, 7, -393212, 7, 0, -393211, 7, 0, -393210, 7, 0, -393209, 7, 0, -393208, 7, 0, -393207, 7, 0, -393206, 7, 0, -393205, 7, 0, -393204, 7, 0, -393203, 7, 0, -393202, 5, 6, -262156, 5, 7, -262155, 7, 0, -262154, 7, 0, -262153, 7, 0, -262152, 7, 0, -262151, 7, 0, -262150, 7, 0, -262149, 7, 0, -262148, 7, 0, -262147, 7, 0, -262146, 7, 0, -262145, 7, 0, -327680, 7, 0, -327679, 7, 0, -327678, 5, 6, -327677, 5, 7, -327676, 7, 0, -327675, 7, 0, -327674, 7, 0, -327673, 7, 0, -327672, 7, 0, -327671, 7, 0, -327670, 7, 0, -327669, 7, 0, -327668, 7, 0, -327667, 7, 0, -327666, 5, 6, -196620, 5, 7, -196619, 7, 0, -196618, 7, 0, -196617, 7, 0, -196616, 7, 0, -196615, 7, 0, -196614, 7, 0, -196613, 7, 0, -196612, 7, 0, -196611, 7, 0, -196610, 7, 0, -196609, 7, 0, -262144, 7, 0, -262143, 7, 0, -262142, 5, 6, -262141, 5, 7, -262140, 7, 0, -262139, 7, 0, -262138, 7, 0, -262137, 7, 0, -262136, 7, 0, -262135, 7, 0, -262134, 7, 0, -262133, 7, 0, -262132, 7, 0, -262131, 7, 0, -262130, 5, 6, -131084, 5, 7, -131083, 7, 0, -131082, 7, 0, -131081, 7, 0, -131080, 7, 0, -131079, 7, 0, -131078, 7, 0, -131077, 7, 0, -131076, 7, 0, -131075, 7, 0, -131074, 7, 0, -131073, 7, 0, -196608, 7, 0, -196607, 7, 0, -196606, 5, 6, -196605, 5, 7, -196604, 7, 0, -196603, 7, 0, -196602, 7, 0, -196601, 7, 0, -196600, 7, 0, -196599, 7, 0, -196598, 7, 0, -196597, 7, 0, -196596, 7, 0, -196595, 7, 0, -196594, 5, 6, -65548, 5, 7, -65547, 7, 0, -65546, 7, 0, -65545, 7, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 5, 6, -131069, 5, 7, -131068, 7, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 5, 6, -12, 5, 7, -11, 7, 0, -10, 7, 0, -9, 7, 0, -8, 7, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 5, 6, -65533, 5, 7, -65532, 7, 0, -65531, 7, 0, -65530, 7, 0, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 5, 6, 65524, 5, 7, 65525, 7, 0, 65526, 7, 0, 65527, 7, 0, 65528, 7, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 5, 6, 3, 5, 7, 4, 7, 0, 5, 7, 0, 6, 7, 0, 7, 7, 0, 8, 7, 0, 9, 7, 0, 10, 7, 0, 11, 7, 0, 12, 7, 0, 13, 7, 0, 14, 5, 6, 131060, 5, 7, 131061, 5, 2, 131062, 5, 2, 131063, 5, 2, 131064, 5, 2, 131065, 5, 2, 131066, 5, 2, 131067, 5, 2, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 5, 2, 65536, 5, 2, 65537, 5, 2, 65538, 5, 65539, 65539, 7, 0, 65540, 7, 0, 65541, 7, 0, 65542, 7, 0, 65543, 7, 0, 65544, 5, 2, 65545, 5, 2, 65546, 5, 2, 65547, 5, 2, 65548, 5, 2, 65549, 5, 3, 65550, 5, 3, 196596, 5, 7, 196597, 7, 0, 196598, 7, 0, 196599, 7, 0, 196600, 7, 0, 196601, 7, 0, 196602, 7, 0, 196603, 7, 0, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 7, 0, 131072, 7, 0, 131073, 7, 0, 131074, 7, 0, 131075, 7, 0, 131076, 7, 0, 131077, 7, 0, 131078, 7, 0, 131079, 7, 0, 131080, 5, 6, 131086, 5, 6, 262132, 5, 7, 262133, 7, 0, 262134, 7, 0, 262135, 7, 0, 262136, 7, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 7, 0, 196614, 7, 0, 196615, 7, 0, 196616, 5, 6, 196622, 5, 6, 327668, 5, 7, 327669, 7, 0, 327670, 7, 0, 327671, 7, 0, 327672, 7, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 7, 0, 262150, 5, 1, 262151, 5, 2, 262152, 5, 6, 262158, 5, 6, 393204, 5, 7, 393205, 7, 0, 393206, 7, 0, 393207, 7, 0, 393208, 7, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 5, 6, 327688, 5, 6, 327694, 5, 6, 458740, 5, 7, 458741, 7, 0, 458742, 7, 0, 458743, 7, 0, 458744, 7, 0, 458745, 7, 0, 458746, 7, 0, 458747, 7, 0, 458748, 7, 0, 458749, 7, 0, 458750, 7, 0, 458751, 7, 0, 393216, 7, 0, 393217, 7, 0, 393218, 7, 0, 393219, 7, 0, 393220, 7, 0, 393221, 7, 0, 393222, 5, 6, 393224, 5, 6, 393230, 5, 6, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 2 ) +tile_data = PoolIntArray( -393228, 5, 65540, -393227, 5, 10, -393226, 5, 10, -393225, 5, 10, -393224, 5, 10, -393223, 5, 10, -393222, 5, 10, -393221, 5, 10, -393220, 5, 10, -393219, 5, 10, -393218, 5, 10, -393217, 5, 10, -458752, 5, 10, -458751, 5, 10, -458750, 5, 10, -458749, 5, 10, -458748, 5, 10, -458747, 5, 10, -458746, 5, 10, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 10, -458741, 5, 10, -458740, 5, 10, -458739, 5, 10, -458738, 5, 65541, -327692, 5, 7, -327691, 7, 0, -327690, 7, 0, -327689, 7, 0, -327688, 7, 0, -327687, 7, 0, -327686, 7, 0, -327685, 7, 0, -327684, 7, 0, -327683, 7, 0, -327682, 7, 0, -327681, 7, 0, -393216, 7, 0, -393215, 7, 0, -393214, 5, 6, -393213, 5, 7, -393212, 7, 0, -393211, 7, 0, -393210, 7, 0, -393209, 7, 0, -393208, 7, 0, -393207, 7, 0, -393206, 7, 0, -393205, 7, 0, -393204, 7, 0, -393203, 7, 0, -393202, 5, 6, -262156, 5, 7, -262155, 7, 0, -262154, 7, 0, -262153, 7, 0, -262152, 7, 0, -262151, 7, 0, -262150, 7, 0, -262149, 7, 0, -262148, 7, 0, -262147, 7, 0, -262146, 7, 0, -262145, 7, 0, -327680, 7, 0, -327679, 7, 0, -327678, 5, 6, -327677, 5, 7, -327676, 7, 0, -327675, 7, 0, -327674, 7, 0, -327673, 7, 0, -327672, 7, 0, -327671, 7, 0, -327670, 7, 0, -327669, 7, 0, -327668, 7, 0, -327667, 7, 0, -327666, 5, 6, -196620, 5, 7, -196619, 7, 0, -196618, 7, 0, -196617, 7, 0, -196616, 7, 0, -196615, 7, 0, -196614, 7, 0, -196613, 7, 0, -196612, 7, 0, -196611, 7, 0, -196610, 7, 0, -196609, 7, 0, -262144, 7, 0, -262143, 7, 0, -262142, 5, 6, -262141, 5, 7, -262140, 7, 0, -262139, 7, 0, -262138, 7, 0, -262137, 7, 0, -262136, 7, 0, -262135, 7, 0, -262134, 7, 0, -262133, 7, 0, -262132, 7, 0, -262131, 7, 0, -262130, 5, 6, -131084, 5, 7, -131083, 7, 0, -131082, 7, 0, -131081, 7, 0, -131080, 7, 0, -131079, 7, 0, -131078, 7, 0, -131077, 7, 0, -131076, 7, 0, -131075, 7, 0, -131074, 7, 0, -131073, 7, 0, -196608, 7, 0, -196607, 7, 0, -196606, 5, 6, -196605, 5, 7, -196604, 7, 0, -196603, 7, 0, -196602, 7, 0, -196601, 7, 0, -196600, 7, 0, -196599, 7, 0, -196598, 7, 0, -196597, 7, 0, -196596, 7, 0, -196595, 7, 0, -196594, 5, 6, -65548, 5, 7, -65547, 7, 0, -65546, 7, 0, -65545, 7, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 5, 6, -131069, 5, 7, -131068, 7, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 5, 6, -12, 5, 7, -11, 7, 0, -10, 7, 0, -9, 7, 0, -8, 7, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 5, 6, -65533, 5, 7, -65532, 7, 0, -65531, 7, 0, -65530, 7, 0, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 5, 6, 65524, 5, 7, 65525, 7, 0, 65526, 7, 0, 65527, 7, 0, 65528, 7, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 5, 6, 3, 5, 7, 4, 7, 0, 5, 7, 0, 6, 7, 0, 7, 7, 0, 8, 7, 0, 9, 7, 0, 10, 7, 0, 11, 7, 0, 12, 7, 0, 13, 7, 0, 14, 5, 6, 131060, 5, 7, 131061, 5, 2, 131062, 5, 2, 131063, 5, 2, 131064, 5, 2, 131065, 5, 2, 131066, 5, 2, 131067, 5, 2, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 5, 2, 65536, 5, 2, 65537, 5, 2, 65538, 5, 65539, 65539, 5, 65536, 65540, 7, 0, 65541, 7, 0, 65542, 7, 0, 65543, 7, 0, 65544, 5, 1, 65545, 5, 2, 65546, 5, 2, 65547, 5, 2, 65548, 5, 2, 65549, 5, 3, 65550, 5, 65539, 196596, 5, 7, 196597, 5, 10, 196598, 5, 10, 196599, 5, 10, 196600, 5, 10, 196601, 5, 10, 196602, 5, 10, 196603, 5, 10, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 5, 10, 131072, 5, 10, 131073, 5, 10, 131074, 5, 65536, 131075, 7, 0, 131076, 7, 0, 131077, 7, 0, 131078, 7, 0, 131079, 7, 0, 131080, 5, 6, 131086, 5, 6, 262132, 5, 7, 262133, 7, 0, 262134, 7, 0, 262135, 7, 0, 262136, 7, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 7, 0, 196614, 7, 0, 196615, 7, 0, 196616, 5, 6, 196622, 5, 6, 327668, 5, 7, 327669, 7, 0, 327670, 7, 0, 327671, 7, 0, 327672, 7, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 7, 0, 262150, 5, 1, 262151, 5, 2, 262152, 5, 65539, 262158, 5, 6, 393204, 5, 7, 393205, 7, 0, 393206, 7, 0, 393207, 7, 0, 393208, 7, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 5, 6, 327694, 5, 6, 458740, 5, 7, 458741, 7, 0, 458742, 7, 0, 458743, 7, 0, 458744, 7, 0, 458745, 7, 0, 458746, 7, 0, 458747, 7, 0, 458748, 7, 0, 458749, 7, 0, 458750, 7, 0, 458751, 7, 0, 393216, 7, 0, 393217, 7, 0, 393218, 7, 0, 393219, 7, 0, 393220, 7, 0, 393221, 7, 0, 393222, 5, 6, 393230, 5, 6, 524276, 5, 65537, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 65539, 458759, 5, 3, 458760, 5, 3, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 65539 ) [node name="DropThroughPlatforms" type="TileMap" parent="."] tile_set = ExtResource( 2 ) diff --git a/src/Levels/Actual Level 1.tscn b/src/Levels/Actual Level 1.tscn index 56f6e54..46f2bba 100644 --- a/src/Levels/Actual Level 1.tscn +++ b/src/Levels/Actual Level 1.tscn @@ -44,10 +44,10 @@ wait_time = 20.0 unique_name_in_owner = true [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 2 +frame = 6 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 6 +frame = 10 [node name="Blobby" parent="." instance=ExtResource( 15 )] unique_name_in_owner = true diff --git a/src/Levels/x02 Level.tscn b/src/Levels/x02 Level.tscn index db086ad..866cd9f 100644 --- a/src/Levels/x02 Level.tscn +++ b/src/Levels/x02 Level.tscn @@ -89,10 +89,10 @@ wait_time = 20.0 [node name="BlobbyCam" parent="." instance=ExtResource( 6 )] [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 7 +frame = 1 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 12 +frame = 6 [node name="Blobby" parent="." instance=ExtResource( 12 )] unique_name_in_owner = true diff --git a/src/Platforms/FlyingPlatform.gd b/src/Platforms/FlyingPlatform.gd index a7ee17e..64dde30 100644 --- a/src/Platforms/FlyingPlatform.gd +++ b/src/Platforms/FlyingPlatform.gd @@ -1,6 +1,14 @@ -extends Node2D +extends Node onready var slide_friction = 2 +onready var tween_values = [] + +export var x_target = 0 +export var y_target = 0 +export var speed = 32 + +var time + # Declare member variables here. Examples: # var a: int = 2 # var b: String = "text" @@ -8,9 +16,20 @@ onready var slide_friction = 2 # Called when the node enters the scene tree for the first time. func _ready() -> void: - $anim.play("Horizontal") + var start = Vector2(0,0) + var end = Vector2(x_target, y_target) + tween_values.append(start) + tween_values.append(end) + time = start.distance_to(end)/speed + _start_tween() + +func _start_tween(): + $FlyTween.interpolate_property($PlatformBody, "position", + tween_values[0], tween_values[1], time, + Tween.TRANS_QUAD, Tween.EASE_IN_OUT) + $FlyTween.start() + - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta: float) -> void: -# pass +func _on_FlyTween_tween_completed(object: Object, key: NodePath) -> void: + tween_values.invert() + _start_tween() diff --git a/src/Platforms/FlyingPlatform.tscn b/src/Platforms/FlyingPlatform.tscn index 006a586..2506d54 100644 --- a/src/Platforms/FlyingPlatform.tscn +++ b/src/Platforms/FlyingPlatform.tscn @@ -1,59 +1,27 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=1] [ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=2] -[sub_resource type="Animation" id=3] -resource_name = "Path" -length = 6.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 3 ), -"transitions": PoolRealArray( 1, 0.965936 ), -"update": 0, -"values": [ Vector2( 0, 0 ), Vector2( -48, -40 ) ] -} - -[sub_resource type="Animation" id=4] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath("KinematicBody2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} - [node name="FlyingPlatform" type="Node2D"] script = ExtResource( 1 ) -[node name="anim" type="AnimationPlayer" parent="."] -playback_process_mode = 0 -anims/Path = SubResource( 3 ) -anims/RESET = SubResource( 4 ) - -[node name="KinematicBody2D" type="KinematicBody2D" parent="."] -collision_layer = 8 +[node name="PlatformBody" type="KinematicBody2D" parent="."] +collision_layer = 16 collision_mask = 0 +motion/sync_to_physics = true -[node name="Sprite" type="Sprite" parent="KinematicBody2D"] +[node name="Sprite" type="Sprite" parent="PlatformBody"] position = Vector2( 0, 8 ) texture = ExtResource( 2 ) vframes = 8 frame = 1 -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="KinematicBody2D"] +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="PlatformBody"] position = Vector2( 0, 4 ) scale = Vector2( 4, 0.4 ) polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 ) + +[node name="FlyTween" type="Tween" parent="."] + +[connection signal="tween_completed" from="FlyTween" to="." method="_on_FlyTween_tween_completed"]