[gd_scene load_steps=41 format=3 uid="uid://duptcik2j0b04"] [ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"] [ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"] [ext_resource type="AudioStream" uid="uid://cssh58oe85in8" path="res://Assets/Audio/SFX/BowserFall.wav" id="3_mliv7"] [ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="4_2qn7a"] [ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="4_kfwlq"] [ext_resource type="Texture2D" uid="uid://3xmhfi556p3s" path="res://Assets/Sprites/Items/Hammer.png" id="4_vubm2"] [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_17x2r"] [ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="5_v5oyl"] [ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"] [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"] [ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"] [ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goomba.json" id="9_exf4b"] [ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"] [ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"] [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"] [ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="15_yggkc"] [ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="17_5b235"] [ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="19_ymlbw"] [ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="20_ckuah"] [ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="21_mcog5"] [sub_resource type="AtlasTexture" id="AtlasTexture_6fvct"] atlas = ExtResource("1_8mi7o") region = Rect2(0, 0, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_17x2r"] atlas = ExtResource("1_8mi7o") region = Rect2(0, 48, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_nf6hu"] atlas = ExtResource("1_8mi7o") region = Rect2(0, 0, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_exf4b"] atlas = ExtResource("1_8mi7o") region = Rect2(48, 0, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_5b235"] atlas = ExtResource("1_8mi7o") region = Rect2(0, 48, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_yggkc"] atlas = ExtResource("1_8mi7o") region = Rect2(48, 48, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_ymlbw"] atlas = ExtResource("1_8mi7o") region = Rect2(0, 0, 48, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_ckuah"] atlas = ExtResource("1_8mi7o") region = Rect2(48, 0, 48, 48) [sub_resource type="SpriteFrames" id="SpriteFrames_mcog5"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_6fvct") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_17x2r") }], "loop": true, "name": &"Fall", "speed": 15.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_nf6hu") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_exf4b") }], "loop": true, "name": &"FireBreathe", "speed": 10.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_5b235") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_yggkc") }], "loop": true, "name": &"FireCharge", "speed": 10.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_ymlbw") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ckuah") }], "loop": true, "name": &"Idle", "speed": 15.0 }] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ma5fd"] size = Vector2(20, 24) [sub_resource type="Animation" id="Animation_pvhfi"] resource_name = "Hurt" length = 0.2 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteScaleJoint:scale") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.2), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(1.2, 1.2), Vector2(1, 1)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("SpriteScaleJoint/Sprite/ColorRect:self_modulate") tracks/1/interp = 2 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.2), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } [sub_resource type="Animation" id="Animation_2qn7a"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteScaleJoint:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(1, 1)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("SpriteScaleJoint/Sprite/ColorRect:self_modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 0)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_6fvct"] _data = { &"Hurt": SubResource("Animation_pvhfi"), &"RESET": SubResource("Animation_2qn7a") } [sub_resource type="SpriteFrames" id="SpriteFrames_ckuah"] animations = [{ "frames": [], "loop": true, "name": &"Idle", "speed": 5.0 }] [sub_resource type="RectangleShape2D" id="RectangleShape2D_va0n6"] size = Vector2(16, 18) [sub_resource type="Animation" id="Animation_vubm2"] resource_name = "Move" length = 1.5 loop_mode = 2 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteScaleJoint:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 1.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(-8, -13), Vector2(8, -13)] } [sub_resource type="Animation" id="Animation_vgx23"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("SpriteScaleJoint:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(-8, -13)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_v5oyl"] _data = { &"Move": SubResource("Animation_vubm2"), &"RESET": SubResource("Animation_vgx23") } [sub_resource type="Resource" id="Resource_5b235"] script = ExtResource("6_pvhfi") Overworld = ExtResource("3_mliv7") metadata/_custom_type_script = "uid://cmvlgsjmsk0v5" [sub_resource type="Resource" id="Resource_exf4b"] script = ExtResource("6_pvhfi") Overworld = SubResource("SpriteFrames_mcog5") metadata/_custom_type_script = "uid://cmvlgsjmsk0v5" [node name="Bowser" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Bowser", "Enemies"]] z_index = 1 collision_layer = 16 collision_mask = 2 script = ExtResource("1_ma5fd") on_screen_enabler = NodePath("VisibleOnScreenEnabler2D") score_note_adder = NodePath("ScoreNoteSpawner") metadata/block_launch_velocity = -50.0 [node name="SpriteScaleJoint" type="Node2D" parent="."] position = Vector2(-8, -13) [node name="Sprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"] clip_children = 2 position = Vector2(0, -11) scale = Vector2(-1, 1) sprite_frames = SubResource("SpriteFrames_mcog5") animation = &"Idle" autoplay = "Idle" frame_progress = 0.687669 offset = Vector2(0, 1) flip_h = true script = ExtResource("4_2qn7a") do_offset = false metadata/_custom_type_script = "uid://caq1qiwmy0mox" [node name="Hitbox" type="Area2D" parent="SpriteScaleJoint/Sprite"] position = Vector2(0, 24) rotation = 3.14159 scale = Vector2(1, -1) [node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/Hitbox"] visible = false position = Vector2(0, -12) shape = SubResource("RectangleShape2D_ma5fd") [node name="RemoteTransform2D" type="RemoteTransform2D" parent="SpriteScaleJoint/Sprite"] position = Vector2(8, -8) rotation = 3.14159 scale = Vector2(1, -1) remote_path = NodePath("../../../Hammer") [node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("5_17x2r") node_to_affect = NodePath("..") property_name = "sprite_frames" resource_json = ExtResource("6_nf6hu") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="ColorRect" type="ColorRect" parent="SpriteScaleJoint/Sprite"] modulate = Color(1, 1, 1, 0.552941) self_modulate = Color(1, 1, 1, 0) offset_left = -35.1663 offset_top = -22.0 offset_right = 28.8337 offset_bottom = 42.0 color = Color(1, 0, 0, 1) [node name="HurtAnimation" type="AnimationPlayer" parent="SpriteScaleJoint"] root_node = NodePath("../..") libraries = { &"": SubResource("AnimationLibrary_6fvct") } [node name="DeathSprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"] visible = false position = Vector2(8, 5) sprite_frames = SubResource("SpriteFrames_ckuah") animation = &"Idle" script = ExtResource("4_2qn7a") do_offset = false metadata/_custom_type_script = "uid://caq1qiwmy0mox" [node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/DeathSprite" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("5_17x2r") node_to_affect = NodePath("..") property_name = "sprite_frames" resource_json = ExtResource("9_exf4b") use_cache = false metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="Collision" type="CollisionShape2D" parent="."] visible = false position = Vector2(0, -9) shape = SubResource("RectangleShape2D_va0n6") [node name="MoveAnimation" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_v5oyl") } autoplay = "Move" [node name="JumpTimer" type="Timer" parent="."] one_shot = true [node name="HammerTime" type="Timer" parent="."] one_shot = true [node name="FlameTimer" type="Timer" parent="."] wait_time = 0.5 one_shot = true [node name="FallSFX" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("3_mliv7") bus = &"SFX" [node name="ResourceSetter" type="Node" parent="FallSFX" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("5_v5oyl") node_to_affect = NodePath("..") property_name = "stream" themed_resource = SubResource("Resource_5b235") metadata/_custom_type_script = "uid://cq6f682453q6o" [node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")] script = ExtResource("4_kfwlq") hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox") metadata/_custom_type_script = "uid://dri2d5jtu0fbq" [node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")] script = ExtResource("6_va0n6") visuals = NodePath("../SpriteScaleJoint/DeathSprite") metadata/_custom_type_script = "uid://c3gg32ivrlq8n" [node name="ScoreNoteSpawner" type="Node" parent="."] script = ExtResource("11_pvhfi") add_score = true metadata/_custom_type_script = "uid://5octqlf4ohel" [node name="Hammer" type="Sprite2D" parent="."] visible = false show_behind_parent = true position = Vector2(-16, -32) texture = ExtResource("4_vubm2") region_enabled = true region_rect = Rect2(0, 0, 16, 16) [node name="ResourceSetter" type="Node" parent="Hammer" node_paths=PackedStringArray("node_to_affect", "property_node")] script = ExtResource("5_17x2r") node_to_affect = NodePath("..") property_node = NodePath("..") property_name = "texture" mode = 1 resource_json = ExtResource("15_yggkc") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."] self_modulate = Color(1, 1, 1, 0) position = Vector2(-1.42109e-14, -16) scale = Vector2(1.85, 2.1) [node name="ThemedToJSONConverter" type="Node" parent="."] script = ExtResource("14_nf6hu") resource = SubResource("Resource_exf4b") json_file_path = "res://Assets/Sprites/Enemies/Bowser.json" metadata/_custom_type_script = "uid://cqif1li7otvpl" [node name="EditorPropertyExposer" type="Node" parent="."] script = ExtResource("15_nf6hu") properties = Array[String](["can_hammer", "can_fire", "is_real"]) [node name="TrackJoint" type="Node" parent="."] script = ExtResource("17_5b235") metadata/_custom_type_script = "uid://d4a7yp6e55u8t" [node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")] script = ExtResource("19_ymlbw") hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox") metadata/_custom_type_script = "uid://bbww34oiexbx2" [node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")] script = ExtResource("20_ckuah") hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox") metadata/_custom_type_script = "uid://chj8hu207lrh" [node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")] script = ExtResource("21_mcog5") hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox") metadata/_custom_type_script = "uid://ba18grqjixded" [connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="." method="show_smoke" unbinds=1] [connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]] [connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"] [connection signal="timeout" from="JumpTimer" to="." method="jump"] [connection signal="timeout" from="HammerTime" to="." method="throw_hammers"] [connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"] [connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1] [connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6] [connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]] [connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"] [connection signal="moving_shell_entered" from="ShellDetection" to="." method="fireball_hit" unbinds=1] [connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"] [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"] [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"] [connection signal="explosion_entered" from="ExplosionDetection" to="." method="fireball_hit" unbinds=1]