[gd_scene load_steps=14 format=4 uid="uid://cf6qb6u8skcqi"]

[ext_resource type="Script" uid="uid://bcqr1v25ygedb" path="res://Scripts/Classes/LevelClass.gd" id="1_g5j1j"]
[ext_resource type="JSON" path="res://Assets/Audio/BGM/BooRace.json" id="2_rjapx"]
[ext_resource type="PackedScene" uid="uid://bksxgpygrdjl7" path="res://Scenes/Prefabs/LevelBG.tscn" id="2_sq8na"]
[ext_resource type="PackedScene" uid="uid://ct5rrpa7uehkk" path="res://Scenes/Parts/Tiles.tscn" id="3_g338u"]
[ext_resource type="PackedScene" uid="uid://cuh62hlq8errh" path="res://Scenes/Prefabs/Entities/Player.tscn" id="4_p4ou4"]
[ext_resource type="PackedScene" uid="uid://duptcik2j0b04" path="res://Scenes/Prefabs/Entities/Enemies/Bowser.tscn" id="6_p6y2f"]
[ext_resource type="PackedScene" uid="uid://dtpyjucfl16sw" path="res://Scenes/Prefabs/LevelObjects/CastleBridge.tscn" id="7_htfei"]
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BulletBill.json" id="7_p6y2f"]
[ext_resource type="PackedScene" uid="uid://cinr6kcbmo6gr" path="res://Scenes/Parts/DropShadowRenderer.tscn" id="9_p4ou4"]
[ext_resource type="Script" uid="uid://bdq0373j5n5o0" path="res://Scripts/Parts/CameraRightLimit.gd" id="10_p4ou4"]
[ext_resource type="PackedScene" uid="uid://d1wjw5tobpb3w" path="res://Scenes/Prefabs/LevelObjects/BooRaceHandler.tscn" id="11_rjapx"]
[ext_resource type="PackedScene" uid="uid://bbrkol4k3yobq" path="res://Scenes/Prefabs/Entities/Enemies/RaceBoo.tscn" id="12_p6y2f"]

[sub_resource type="Curve2D" id="Curve2D_htfei"]
_data = {
"points": PackedVector2Array(0, 0, 0, 0, -240, -104, -103.098, -25.6579, 103.098, 25.6579, -80, -88, -43.3852, -0.466507, 43.3852, 0.466507, 280, -48, -31.256, -0.933015, 31.256, 0.933015, 520, -64, -20.0598, 0, 20.0598, 0, 688, -32, 0.933015, 25.1914, -0.933015, -25.1914, 736, -80, 0.933015, 22.8589, -0.933015, -22.8589, 688, -160, -30.7895, 0, 30.7895, 0, 768, -184, -55.0479, -1.86603, 55.0479, 1.86603, 864, -96, -24.2584, -0.466507, 24.2584, 0.466507, 1072, -64, -28.9235, 1.39952, 28.9235, -1.39952, 1136, -88, -50.3828, 13.0622, 50.3828, -13.0622, 1272, -72, -49.9163, -20.9928, 49.9163, 20.9928, 1560, -128, -38.7201, 0, 38.7201, 0, 1760, -56, -31.7225, 0, 31.7225, 0, 2000, -72, -31.7225, 1.39952, 31.7225, -1.39952, 2112, -56, -21.4593, 0, 21.4593, 0, 2200, -104, -22.3923, 0, 22.3923, 0, 2272, -64, -21.9258, 0, 21.9258, 0, 2336, -88, -47.5837, 1.86603, 47.5837, -1.86603, 2392, -64, -48.9833, 0.466507, 48.9833, -0.466507, 2496, -88, 0, 0, 0, 0, 2600, -72, 0, 0, 0, 0, 3288, -72)
}
point_count = 23

[node name="Level" type="Node"]
script = ExtResource("1_g5j1j")
music = ExtResource("2_rjapx")
theme = "Castle"
time_limit = 250
world_id = 2
level_id = 4
metadata/_custom_type_script = "uid://bcqr1v25ygedb"

[node name="LevelBG" parent="." instance=ExtResource("2_sq8na")]
particles = 3

[node name="Tiles" parent="." instance=ExtResource("3_g338u")]
tile_map_data = PackedByteArray("[encoded data, 22084 characters]")

[node name="Player" parent="." instance=ExtResource("4_p4ou4")]
position = Vector2(-240, -80)

[node name="Bowser" parent="." instance=ExtResource("6_p6y2f")]
position = Vector2(3232, -48)

[node name="ResourceSetterNew" parent="Bowser/SpriteScaleJoint/DeathSprite" index="0"]
resource_json = ExtResource("7_p6y2f")

[node name="CastleBridge" parent="." instance=ExtResource("7_htfei")]
z_index = -1
position = Vector2(3080, -40)
length = 12

[node name="DropShadow" parent="." instance=ExtResource("9_p4ou4")]

[node name="CameraRightLimit" type="Node2D" parent="."]
position = Vector2(3312, -112)
script = ExtResource("10_p4ou4")
metadata/_custom_type_script = "uid://bdq0373j5n5o0"

[node name="BooRaceHandler" parent="." node_paths=PackedStringArray("boo") instance=ExtResource("11_rjapx")]
boo = NodePath("../Path2D/RaceBoo")
level_id = 7

[node name="Path2D" type="Path2D" parent="."]
curve = SubResource("Curve2D_htfei")

[node name="PathFollow2D" type="PathFollow2D" parent="Path2D"]
position = Vector2(-240, -104)
rotation = -0.16812637

[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Path2D/PathFollow2D"]
remote_path = NodePath("../../RaceBoo")
update_rotation = false
update_scale = false

[node name="RaceBoo" parent="Path2D" node_paths=PackedStringArray("path") instance=ExtResource("12_p6y2f")]
position = Vector2(-240, -104)
path = NodePath("../PathFollow2D")
time_needed = [60, 42, 40, 35, 25]

[connection signal="player_block_hit" from="Tiles/TimedBooBlock" to="Tiles/TimedBooBlock" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/TimedBooBlock" to="Tiles/TimedBooBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140572" to="Tiles/@AnimatableBody2D@140572" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140572" to="Tiles/@AnimatableBody2D@140572/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140573" to="Tiles/@AnimatableBody2D@140573" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140573" to="Tiles/@AnimatableBody2D@140573/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140574" to="Tiles/@AnimatableBody2D@140574" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140574" to="Tiles/@AnimatableBody2D@140574/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140575" to="Tiles/@AnimatableBody2D@140575" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140575" to="Tiles/@AnimatableBody2D@140575/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140576" to="Tiles/@AnimatableBody2D@140576" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140576" to="Tiles/@AnimatableBody2D@140576/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140577" to="Tiles/@AnimatableBody2D@140577" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140577" to="Tiles/@AnimatableBody2D@140577/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140578" to="Tiles/@AnimatableBody2D@140578" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140578" to="Tiles/@AnimatableBody2D@140578/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140579" to="Tiles/@AnimatableBody2D@140579" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140579" to="Tiles/@AnimatableBody2D@140579/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140580" to="Tiles/@AnimatableBody2D@140580" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140580" to="Tiles/@AnimatableBody2D@140580/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140581" to="Tiles/@AnimatableBody2D@140581" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140581" to="Tiles/@AnimatableBody2D@140581/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140582" to="Tiles/@AnimatableBody2D@140582" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140582" to="Tiles/@AnimatableBody2D@140582/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140583" to="Tiles/@AnimatableBody2D@140583" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140583" to="Tiles/@AnimatableBody2D@140583/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140584" to="Tiles/@AnimatableBody2D@140584" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140584" to="Tiles/@AnimatableBody2D@140584/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140585" to="Tiles/@AnimatableBody2D@140585" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140585" to="Tiles/@AnimatableBody2D@140585/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140586" to="Tiles/@AnimatableBody2D@140586" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140586" to="Tiles/@AnimatableBody2D@140586/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140587" to="Tiles/@AnimatableBody2D@140587" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140587" to="Tiles/@AnimatableBody2D@140587/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140588" to="Tiles/@AnimatableBody2D@140588" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140588" to="Tiles/@AnimatableBody2D@140588/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140589" to="Tiles/@AnimatableBody2D@140589" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140589" to="Tiles/@AnimatableBody2D@140589/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140590" to="Tiles/@AnimatableBody2D@140590" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140590" to="Tiles/@AnimatableBody2D@140590/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140591" to="Tiles/@AnimatableBody2D@140591" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140591" to="Tiles/@AnimatableBody2D@140591/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140592" to="Tiles/@AnimatableBody2D@140592" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140592" to="Tiles/@AnimatableBody2D@140592/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140593" to="Tiles/@AnimatableBody2D@140593" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140593" to="Tiles/@AnimatableBody2D@140593/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140594" to="Tiles/@AnimatableBody2D@140594" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140594" to="Tiles/@AnimatableBody2D@140594/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140595" to="Tiles/@AnimatableBody2D@140595" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@140595" to="Tiles/@AnimatableBody2D@140595/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="collected" from="Tiles/Coin" to="Tiles/Coin/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140596" to="Tiles/@Node2D@140596/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140597" to="Tiles/@Node2D@140597/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140598" to="Tiles/@Node2D@140598/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140599" to="Tiles/@Node2D@140599/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140600" to="Tiles/@Node2D@140600/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140601" to="Tiles/@Node2D@140601/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140602" to="Tiles/@Node2D@140602/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140603" to="Tiles/@Node2D@140603/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140604" to="Tiles/@Node2D@140604/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140605" to="Tiles/@Node2D@140605/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140606" to="Tiles/@Node2D@140606/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140607" to="Tiles/@Node2D@140607/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140608" to="Tiles/@Node2D@140608/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140609" to="Tiles/@Node2D@140609/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140610" to="Tiles/@Node2D@140610/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140611" to="Tiles/@Node2D@140611/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140612" to="Tiles/@Node2D@140612/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140613" to="Tiles/@Node2D@140613/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140614" to="Tiles/@Node2D@140614/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140615" to="Tiles/@Node2D@140615/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140616" to="Tiles/@Node2D@140616/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140617" to="Tiles/@Node2D@140617/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140618" to="Tiles/@Node2D@140618/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140619" to="Tiles/@Node2D@140619/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140620" to="Tiles/@Node2D@140620/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140621" to="Tiles/@Node2D@140621/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140622" to="Tiles/@Node2D@140622/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140623" to="Tiles/@Node2D@140623/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140624" to="Tiles/@Node2D@140624/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140625" to="Tiles/@Node2D@140625/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140626" to="Tiles/@Node2D@140626/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140627" to="Tiles/@Node2D@140627/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140628" to="Tiles/@Node2D@140628/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140629" to="Tiles/@Node2D@140629/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140630" to="Tiles/@Node2D@140630/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140631" to="Tiles/@Node2D@140631/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140632" to="Tiles/@Node2D@140632/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140633" to="Tiles/@Node2D@140633/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140634" to="Tiles/@Node2D@140634/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140635" to="Tiles/@Node2D@140635/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140636" to="Tiles/@Node2D@140636/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140637" to="Tiles/@Node2D@140637/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140638" to="Tiles/@Node2D@140638/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140639" to="Tiles/@Node2D@140639/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140640" to="Tiles/@Node2D@140640/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140641" to="Tiles/@Node2D@140641/LevelPersistance" method="set_as_active"]
[connection signal="collected" from="Tiles/@Node2D@140642" to="Tiles/@Node2D@140642/LevelPersistance" method="set_as_active"]
[connection signal="block_destroyed" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock/LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock/LevelPersistance" method="set_as_active"]
[connection signal="player_block_hit" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock" method="player_mushroom_check"]
[connection signal="player_block_hit" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock" method="dispense_item" unbinds=1]
[connection signal="player_block_hit" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock" method="dispense_item" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/QuestionBlock" to="Tiles/QuestionBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="axe_touched" from="CastleBridge" to="BooRaceHandler" method="player_win_race"]
[connection signal="axe_touched" from="CastleBridge" to="Path2D/RaceBoo" method="flag_die"]
[connection signal="victory_begin" from="CastleBridge" to="CameraRightLimit" method="_enter_tree"]
[connection signal="victory_begin" from="CastleBridge" to="BooRaceHandler" method="tally_time"]

[editable path="Bowser"]
