[gd_scene load_steps=17 format=4 uid="uid://ssikrfi1wqmc"]

[ext_resource type="Script" uid="uid://bcqr1v25ygedb" path="res://Scripts/Classes/LevelClass.gd" id="1_3j6o7"]
[ext_resource type="JSON" path="res://Assets/Audio/BGM/BooRace.json" id="2_krs0r"]
[ext_resource type="PackedScene" uid="uid://bksxgpygrdjl7" path="res://Scenes/Prefabs/LevelBG.tscn" id="3_bif5h"]
[ext_resource type="PackedScene" uid="uid://ct5rrpa7uehkk" path="res://Scenes/Parts/Tiles.tscn" id="4_6xy56"]
[ext_resource type="PackedScene" uid="uid://cuh62hlq8errh" path="res://Scenes/Prefabs/Entities/Player.tscn" id="5_vo2a6"]
[ext_resource type="PackedScene" uid="uid://cinr6kcbmo6gr" path="res://Scenes/Parts/DropShadowRenderer.tscn" id="6_1v741"]
[ext_resource type="PackedScene" uid="uid://dryg466fybrd3" path="res://Scenes/Prefabs/LevelObjects/UpsideDownGravityArea.tscn" id="9_14153"]
[ext_resource type="Script" uid="uid://dhtqnyrj3ndnj" path="res://Scripts/Parts/MoonGravity.gd" id="10_krs0r"]
[ext_resource type="PackedScene" uid="uid://ck0spcws71sg5" path="res://Scenes/Prefabs/Entities/Items/WingItem.tscn" id="11_bif5h"]
[ext_resource type="PackedScene" uid="uid://c6loucilra6da" path="res://Scenes/Prefabs/LevelObjects/EndFlagpole.tscn" id="12_vo2a6"]
[ext_resource type="PackedScene" uid="uid://b5o0j3kfv2xys" path="res://Scenes/Prefabs/LevelObjects/EndFinalSpCastle.tscn" id="13_1v741"]
[ext_resource type="PackedScene" uid="uid://bbrkol4k3yobq" path="res://Scenes/Prefabs/Entities/Enemies/RaceBoo.tscn" id="13_vo2a6"]
[ext_resource type="PackedScene" uid="uid://d1wjw5tobpb3w" path="res://Scenes/Prefabs/LevelObjects/BooRaceHandler.tscn" id="14_1v741"]
[ext_resource type="PackedScene" uid="uid://duptcik2j0b04" path="res://Scenes/Prefabs/Entities/Enemies/Bowser.tscn" id="14_8ft2m"]
[ext_resource type="PackedScene" uid="uid://c145qqkvy8pr5" path="res://Scenes/Parts/DecoTiles.tscn" id="15_14153"]

[sub_resource type="Curve2D" id="Curve2D_1v741"]
_data = {
"points": PackedVector2Array(-183.84995, -26.446352, 183.84995, 26.446352, -232, -40, -99.09416, 4.1422, 99.09416, -4.1422, -40, -120, -122.035576, -2.2304153, 122.035576, 2.2304153, 232, 8, -11.152077, 18.161953, 11.152077, -18.161953, 480, -48, -88.63638, 0.9330146, 88.63638, -0.9330146, 624, -104, 0, 0, 0, 0, 984, -104, -69.043076, 1.3995218, 69.043076, -1.3995218, 1240, -104, -0.9330139, -113.36127, 0.9330139, 113.36127, 1400, -96, -24.258379, 131.08855, 24.258379, -131.08855, 1496, -88, -3.265551, -28.923452, 3.265551, 28.923452, 1552, -88, -28.456945, 124.090935, 28.456945, -124.090935, 1616, -96, -6.0645947, -45.717712, 6.0645947, 45.717712, 1688, -72, -12.1291895, 111.96175, 12.1291895, -111.96175, 1784, -152, 0, 0, 0, 0, 2056, -112, -29.389969, 33.588524, 29.389969, -33.588524, 2304, -32, -70.4426, -2.3325365, 70.4426, 2.3325365, 2352, -112, -52.715324, 0.9330146, 52.715324, -0.9330146, 2472, 0, -14.928233, 39.65312, 14.928233, -39.65312, 2528, -112, -16.794264, -70.442604, 16.794264, 70.442604, 2624, -88, -38.720104, 18.193783, 38.720104, -18.193783, 2736, -40, -41.51915, -6.0645947, 41.51915, 6.0645947, 2848, -136, 0, 0, 0, 0, 3120, -144, 0, 0, 0, 0, 4392, -152)
}
point_count = 23

[node name="Boo2-4" type="Node"]
script = ExtResource("1_3j6o7")
music = ExtResource("2_krs0r")
theme = "Space"
theme_time = "Night"
campaign = "SMBS"
world_id = 2
level_id = 4
metadata/_custom_type_script = "uid://bcqr1v25ygedb"

[node name="LevelBG" parent="." instance=ExtResource("3_bif5h")]

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

[node name="Tiles" parent="." instance=ExtResource("4_6xy56")]
tile_map_data = PackedByteArray("[encoded data, 31460 characters]")

[node name="Player" parent="." instance=ExtResource("5_vo2a6")]
position = Vector2(-232, 0)

[node name="DropShadow" parent="." instance=ExtResource("6_1v741")]

[node name="Tiles2" parent="." instance=ExtResource("4_6xy56")]
tile_map_data = PackedByteArray("[encoded data, 14436 characters]")

[node name="UpsideDownGravityArea" parent="." node_paths=PackedStringArray("polygon") instance=ExtResource("9_14153")]
polygon = NodePath("CollisionPolygon2D")

[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="UpsideDownGravityArea"]
polygon = PackedVector2Array(-64, -160, -64, 128, 448, 128, 448, -112, 336, -112, 336, -64, 128, -64, 128, -160)

[node name="UpsideDownGravityArea2" parent="." node_paths=PackedStringArray("polygon") instance=ExtResource("9_14153")]
polygon = NodePath("CollisionPolygon2D")

[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="UpsideDownGravityArea2"]
polygon = PackedVector2Array(2112, -160, 2112, 32, 2272, 32, 2272, -160)

[node name="UpsideDownGravityArea3" parent="." node_paths=PackedStringArray("polygon") instance=ExtResource("9_14153")]
polygon = NodePath("CollisionPolygon2D")

[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="UpsideDownGravityArea3"]
polygon = PackedVector2Array(2368, -160, 2368, 32, 2928, 32, 2928, -160)

[node name="MoonGravity" type="Node" parent="."]
script = ExtResource("10_krs0r")
metadata/_custom_type_script = "uid://dhtqnyrj3ndnj"

[node name="WingItem" parent="." instance=ExtResource("11_bif5h")]
position = Vector2(1240, -80)

[node name="WingItem2" parent="." instance=ExtResource("11_bif5h")]
position = Vector2(2456, -96)

[node name="EndFlagpole" parent="." instance=ExtResource("12_vo2a6")]
position = Vector2(4392, 0)

[node name="EndFinalCastle" parent="." instance=ExtResource("13_1v741")]
position = Vector2(4472, 0)

[node name="RaceBoo" parent="." node_paths=PackedStringArray("path") instance=ExtResource("13_vo2a6")]
position = Vector2(-232, -40)
path = NodePath("../Path2D/PathFollow2D")
time_needed = [65, 60, 55, 50, 45]

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

[node name="PathFollow2D" type="PathFollow2D" parent="Path2D"]
position = Vector2(-232, -40)
rotation = 0.14286746

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

[node name="Bowser" parent="." instance=ExtResource("14_8ft2m")]
position = Vector2(4176, -128)
can_hammer = true
music_enabled = false

[node name="DecoTiles" parent="." instance=ExtResource("15_14153")]
tile_map_data = PackedByteArray("AADy//3/AAAEAAAAAADy//7/AAAEAAEAAADy////AAAAAAEAAADz////AAABAAEAAAD0////AAABAAEAAAD3////AAAAAAAAAABGAP7/AAADAAAAAABGAP//AAADAAEAAABJAP7/AAADAAAAAABJAP//AAADAAEAAABHAPz/AAAEAAAAAABHAP3/AAAEAAEAAABHAP7/AAAAAAEAAABHAP//AAAAAAEAAAB2AP3/AAAEAAAAAAB2AP7/AAAEAAEAAAB2AP//AAAAAAEAAAB4AP//AAABAAEAAAB5AP//AAABAAEAAACQAP7/AAADAAAAAACQAP//AAADAAEAAACRAP//AAABAAEAAAC4AP//AAAAAAAAAAC5AP//AAABAAAAAAC6AP//AAACAAAAAAC8AP7/AAADAAAAAAC8AP//AAADAAEAAAC9AP//AAACAAEAAAA=")

[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="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="shell_block_hit" from="Tiles/TimedBooBlock" to="Tiles/TimedBooBlock" method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/TimedBooBlock" to="Tiles/TimedBooBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="block_destroyed" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="Tiles/BrickBlock" to="Tiles/BrickBlock/LevelPersistance" method="set_as_active"]
[connection signal="item_changed" from="Tiles/BrickBlock" to="Tiles/BrickBlock" method="check_brick_empty"]
[connection signal="player_block_hit" from="Tiles/BrickBlock" to="Tiles/BrickBlock" method="on_block_hit"]
[connection signal="player_block_hit" from="Tiles/BrickBlock" to="Tiles/BrickBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/BrickBlock" to="Tiles/BrickBlock" method="on_shell_block_hit"]
[connection signal="shell_block_hit" from="Tiles/BrickBlock" to="Tiles/BrickBlock/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="block_destroyed" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294/LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294/LevelPersistance" method="set_as_active"]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294" method="player_mushroom_check"]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294" method="dispense_item" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294" method="dispense_item" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73294" to="Tiles/@AnimatableBody2D@73294/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73330" to="Tiles/@AnimatableBody2D@73330" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73330" to="Tiles/@AnimatableBody2D@73330/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73330" to="Tiles/@AnimatableBody2D@73330" method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73330" to="Tiles/@AnimatableBody2D@73330/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73331" to="Tiles/@AnimatableBody2D@73331" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73331" to="Tiles/@AnimatableBody2D@73331/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73331" to="Tiles/@AnimatableBody2D@73331" method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73331" to="Tiles/@AnimatableBody2D@73331/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73332" to="Tiles/@AnimatableBody2D@73332" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73332" to="Tiles/@AnimatableBody2D@73332/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73332" to="Tiles/@AnimatableBody2D@73332" method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73332" to="Tiles/@AnimatableBody2D@73332/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="block_destroyed" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333/LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333/LevelPersistance" method="set_as_active"]
[connection signal="item_changed" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333" method="check_brick_empty"]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333" method="on_block_hit"]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333" method="on_shell_block_hit"]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73333" to="Tiles/@AnimatableBody2D@73333/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73344" to="Tiles/@AnimatableBody2D@73344" method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="Tiles/@AnimatableBody2D@73344" to="Tiles/@AnimatableBody2D@73344/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73344" to="Tiles/@AnimatableBody2D@73344" method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="Tiles/@AnimatableBody2D@73344" to="Tiles/@AnimatableBody2D@73344/BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="player_reached" from="EndFlagpole" to="BooRaceHandler" method="player_win_race"]
