This commit is contained in:
SkyanUltra 2025-12-03 10:34:48 +00:00 committed by GitHub
commit 0191e6cb0f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 199 additions and 130 deletions

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bh0gqm8tog3wq"
path="res://.godot/imported/BreakBridge.wav-1d4382004003a4caf4778e35b631aec5.sample"
[deps]
source_file="res://Assets/Audio/SFX/BreakBridge.wav"
dest_files=["res://.godot/imported/BreakBridge.wav-1d4382004003a4caf4778e35b631aec5.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View file

@ -4,20 +4,20 @@
[ext_resource type="Script" uid="uid://db0uolj5jvlca" path="res://Scripts/Classes/Singletons/AudioManager.gd" id="1_gwo7i"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_yp3lf"]
[node name="AudioManager" type="Node"]
[node name="AudioManager" type="Node" unique_id=190002463]
process_mode = 3
script = ExtResource("1_gwo7i")
[node name="Music" type="AudioStreamPlayer" parent="."]
[node name="Music" type="AudioStreamPlayer" parent="." unique_id=1310528240]
process_mode = 3
stream = ExtResource("1_6s2eu")
bus = &"Music"
parameters/looping = true
[node name="MusicOverride" type="AudioStreamPlayer" parent="."]
[node name="MusicOverride" type="AudioStreamPlayer" parent="." unique_id=2076997238]
bus = &"Music"
[node name="ResourceSetterNew" type="Node" parent="."]
[node name="ResourceSetterNew" type="Node" parent="." unique_id=1350556774]
script = ExtResource("3_yp3lf")
mode = 3
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

View file

@ -222,7 +222,7 @@ 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"]]
[node name="Bowser" type="CharacterBody2D" unique_id=1487129753 node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Bowser", "Enemies"]]
z_index = 1
collision_layer = 16
collision_mask = 2
@ -231,10 +231,10 @@ on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
score_note_adder = NodePath("ScoreNoteSpawner")
metadata/block_launch_velocity = -50.0
[node name="SpriteScaleJoint" type="Node2D" parent="."]
[node name="SpriteScaleJoint" type="Node2D" parent="." unique_id=239188381]
position = Vector2(-8, -13)
[node name="Sprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"]
[node name="Sprite" type="AnimatedSprite2D" parent="SpriteScaleJoint" unique_id=756073436]
clip_children = 2
position = Vector2(0, -11)
scale = Vector2(-1, 1)
@ -248,30 +248,30 @@ script = ExtResource("4_2qn7a")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="Hitbox" type="Area2D" parent="SpriteScaleJoint/Sprite"]
[node name="Hitbox" type="Area2D" parent="SpriteScaleJoint/Sprite" unique_id=1256158208]
position = Vector2(0, 24)
rotation = 3.14159
scale = Vector2(1, -1)
[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/Hitbox"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/Hitbox" unique_id=1859867718]
visible = false
position = Vector2(0, -12)
shape = SubResource("RectangleShape2D_ma5fd")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="SpriteScaleJoint/Sprite"]
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="SpriteScaleJoint/Sprite" unique_id=112798433]
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")]
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite" unique_id=555266942 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"]
[node name="ColorRect" type="ColorRect" parent="SpriteScaleJoint/Sprite" unique_id=1674277261]
modulate = Color(1, 1, 1, 0.552941)
self_modulate = Color(1, 1, 1, 0)
offset_left = -35.1663
@ -280,13 +280,13 @@ offset_right = 28.8337
offset_bottom = 42.0
color = Color(1, 0, 0, 1)
[node name="HurtAnimation" type="AnimationPlayer" parent="SpriteScaleJoint"]
[node name="HurtAnimation" type="AnimationPlayer" parent="SpriteScaleJoint" unique_id=1252199300]
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_6fvct")
}
[node name="DeathSprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"]
[node name="DeathSprite" type="AnimatedSprite2D" parent="SpriteScaleJoint" unique_id=1311530935]
visible = false
position = Vector2(8, 5)
sprite_frames = SubResource("SpriteFrames_ckuah")
@ -295,7 +295,7 @@ 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")]
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/DeathSprite" unique_id=381174695 node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_17x2r")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
@ -303,55 +303,55 @@ resource_json = ExtResource("6_nf6hu")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
[node name="Collision" type="CollisionShape2D" parent="." unique_id=2093833923]
visible = false
position = Vector2(0, -9)
shape = SubResource("RectangleShape2D_va0n6")
[node name="MoveAnimation" type="AnimationPlayer" parent="."]
[node name="MoveAnimation" type="AnimationPlayer" parent="." unique_id=725232348]
libraries = {
&"": SubResource("AnimationLibrary_v5oyl")
}
autoplay = "Move"
autoplay = &"Move"
[node name="JumpTimer" type="Timer" parent="."]
[node name="JumpTimer" type="Timer" parent="." unique_id=508462891]
one_shot = true
[node name="HammerTime" type="Timer" parent="."]
[node name="HammerTime" type="Timer" parent="." unique_id=1639990064]
one_shot = true
[node name="FlameTimer" type="Timer" parent="."]
[node name="FlameTimer" type="Timer" parent="." unique_id=1040115668]
wait_time = 0.5
one_shot = true
[node name="FallSFX" type="AudioStreamPlayer2D" parent="."]
[node name="FallSFX" type="AudioStreamPlayer2D" parent="." unique_id=1284726920]
stream = ExtResource("3_mliv7")
bus = &"SFX"
[node name="ResourceSetter" type="Node" parent="FallSFX" node_paths=PackedStringArray("node_to_affect")]
[node name="ResourceSetter" type="Node" parent="FallSFX" unique_id=1991985954 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")]
[node name="FireballDetection" type="Node" parent="." unique_id=1940832858 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")]
[node name="GibSpawner" type="Node" parent="." unique_id=383912089 node_paths=PackedStringArray("visuals")]
script = ExtResource("6_va0n6")
visuals = NodePath("../SpriteScaleJoint/DeathSprite")
gib_type = 1
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
[node name="ScoreNoteSpawner" type="Node" parent="."]
[node name="ScoreNoteSpawner" type="Node" parent="." unique_id=149036831]
script = ExtResource("11_pvhfi")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"
[node name="Hammer" type="Sprite2D" parent="."]
[node name="Hammer" type="Sprite2D" parent="." unique_id=1682440283]
visible = false
show_behind_parent = true
position = Vector2(-16, -32)
@ -359,7 +359,7 @@ 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")]
[node name="ResourceSetter" type="Node" parent="Hammer" unique_id=650587338 node_paths=PackedStringArray("node_to_affect", "property_node")]
script = ExtResource("5_17x2r")
node_to_affect = NodePath("..")
property_node = NodePath("..")
@ -368,43 +368,43 @@ mode = 1
resource_json = ExtResource("15_yggkc")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="." unique_id=1469437747]
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="."]
[node name="ThemedToJSONConverter" type="Node" parent="." unique_id=510890767]
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="."]
[node name="EditorPropertyExposer" type="Node" parent="." unique_id=415274022]
script = ExtResource("15_nf6hu")
properties = Array[String](["can_hammer", "can_fire", "is_real"])
[node name="TrackJoint" type="Node" parent="."]
[node name="TrackJoint" type="Node" parent="." unique_id=1232552939]
script = ExtResource("17_5b235")
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
[node name="ShellDetection" type="Node" parent="." unique_id=785980241 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")]
[node name="EnemyPlayerDetection" type="Node" parent="." unique_id=1200979227 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")]
[node name="ExplosionDetection" type="Node" parent="." unique_id=587090740 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="ScoreNoteSpawner" method="spawn_note" binds= [5000]]
[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"]

View file

@ -43,21 +43,21 @@ animations = [{
"texture": SubResource("AtlasTexture_tmf7w")
}],
"loop": true,
"name": &"default",
"name": &"Idle",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7m65m"]
size = Vector2(2, 8)
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_tmf7w"]
normal = Vector2(-1, 0)
[sub_resource type="Resource" id="Resource_8q7qv"]
script = ExtResource("8_geany")
Overworld = ExtResource("1_030qv")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_tmf7w"]
normal = Vector2(-1, 0)
[sub_resource type="GDScript" id="GDScript_wgdlx"]
script/source = "@tool
extends Node
@ -76,126 +76,145 @@ func _process(_delta: float) -> void:
"
[node name="CastleBridge" type="Node2D" groups=["CastleBridges"]]
[node name="CastleBridge" type="Node2D" unique_id=1454074578 groups=["CastleBridges"]]
process_mode = 3
script = ExtResource("1_7m65m")
[node name="Bridge" type="Node2D" parent="."]
[node name="Bridge" type="Node2D" parent="." unique_id=1389252244]
[node name="CastleBridgeSegment" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment" parent="Bridge" unique_id=1507955674 instance=ExtResource("2_rdab3")]
position = Vector2(192, 0)
[node name="CastleBridgeSegment2" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment2" parent="Bridge" unique_id=278319918 instance=ExtResource("2_rdab3")]
position = Vector2(176, 0)
[node name="CastleBridgeSegment3" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment3" parent="Bridge" unique_id=49611166 instance=ExtResource("2_rdab3")]
position = Vector2(160, 0)
[node name="CastleBridgeSegment4" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment4" parent="Bridge" unique_id=443879360 instance=ExtResource("2_rdab3")]
position = Vector2(144, 0)
[node name="CastleBridgeSegment5" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment5" parent="Bridge" unique_id=488378564 instance=ExtResource("2_rdab3")]
position = Vector2(128, 0)
[node name="CastleBridgeSegment6" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment6" parent="Bridge" unique_id=451101729 instance=ExtResource("2_rdab3")]
position = Vector2(112, 0)
[node name="CastleBridgeSegment7" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment7" parent="Bridge" unique_id=640211980 instance=ExtResource("2_rdab3")]
position = Vector2(96, 0)
[node name="CastleBridgeSegment8" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment8" parent="Bridge" unique_id=2108951897 instance=ExtResource("2_rdab3")]
position = Vector2(80, 0)
[node name="CastleBridgeSegment9" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment9" parent="Bridge" unique_id=2114650867 instance=ExtResource("2_rdab3")]
position = Vector2(64, 0)
[node name="CastleBridgeSegment10" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment10" parent="Bridge" unique_id=1627902871 instance=ExtResource("2_rdab3")]
position = Vector2(48, 0)
[node name="CastleBridgeSegment11" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment11" parent="Bridge" unique_id=757147707 instance=ExtResource("2_rdab3")]
position = Vector2(32, 0)
[node name="CastleBridgeSegment12" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment12" parent="Bridge" unique_id=701831054 instance=ExtResource("2_rdab3")]
position = Vector2(16, 0)
[node name="CastleBridgeSegment13" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment13" parent="Bridge" unique_id=641403732 instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment14" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment14" parent="Bridge" unique_id=115300263 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment15" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment15" parent="Bridge" unique_id=1244829237 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment16" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment16" parent="Bridge" unique_id=676271033 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment17" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment17" parent="Bridge" unique_id=1847729921 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment18" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment18" parent="Bridge" unique_id=2122926096 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment19" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment19" parent="Bridge" unique_id=1657029500 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="CastleBridgeSegment20" parent="Bridge" instance=ExtResource("2_rdab3")]
[node name="CastleBridgeSegment20" parent="Bridge" unique_id=1471292361 instance=ExtResource("2_rdab3")]
visible = false
position = Vector2(-999, 0)
[node name="Axe" type="AnimatedSprite2D" parent="."]
process_mode = 1
position = Vector2(208, -32)
[node name="AxeAnim" type="AnimatedSprite2D" parent="." unique_id=447443895]
process_mode = 3
position = Vector2(208, -24)
sprite_frames = SubResource("SpriteFrames_13fwi")
autoplay = "default"
frame_progress = 0.124132
animation = &"Idle"
autoplay = "Idle"
offset = Vector2(0, -8)
script = ExtResource("4_s4k02")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="Hitbox" type="Area2D" parent="Axe"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Axe/Hitbox"]
shape = SubResource("RectangleShape2D_7m65m")
[node name="Sprite2D14" type="Sprite2D" parent="Axe"]
position = Vector2(-16, 16)
texture = ExtResource("1_030qv")
region_enabled = true
region_rect = Rect2(208, 128, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="Axe/Sprite2D14" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_vt2ac")
node_to_affect = NodePath("..")
property_name = "texture"
themed_resource = SubResource("Resource_8q7qv")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="CameraRightLimit" type="Node2D" parent="Axe"]
position = Vector2(24, 8)
script = ExtResource("4_tmf7w")
metadata/_custom_type_script = "uid://bdq0373j5n5o0"
[node name="StaticBody2D" type="StaticBody2D" parent="Axe"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Axe/StaticBody2D"]
position = Vector2(8, 0)
shape = SubResource("WorldBoundaryShape2D_tmf7w")
[node name="ResourceSetterNew" type="Node" parent="Axe" node_paths=PackedStringArray("node_to_affect")]
[node name="ResourceSetterNew" type="Node" parent="AxeAnim" unique_id=1088984355 node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("9_m5y50")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("10_kvynl")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Camera" type="Camera2D" parent="."]
[node name="Axe" type="AnimatedSprite2D" parent="." unique_id=99773570]
process_mode = 1
visible = false
position = Vector2(208, -32)
sprite_frames = SubResource("SpriteFrames_13fwi")
animation = &"Idle"
autoplay = "Idle"
script = ExtResource("4_s4k02")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="Hitbox" type="Area2D" parent="Axe" unique_id=1816879694]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Axe/Hitbox" unique_id=1237174637]
shape = SubResource("RectangleShape2D_7m65m")
[node name="CameraRightLimit" type="Node2D" parent="Axe" unique_id=1025344155]
position = Vector2(24, 8)
script = ExtResource("4_tmf7w")
metadata/_custom_type_script = "uid://bdq0373j5n5o0"
[node name="StaticBody2D" type="StaticBody2D" parent="Axe" unique_id=1035029581]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Axe/StaticBody2D" unique_id=725752346]
position = Vector2(8, 0)
shape = SubResource("WorldBoundaryShape2D_tmf7w")
[node name="ResourceSetterNew" type="Node" parent="Axe" unique_id=634664480 node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("9_m5y50")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("10_kvynl")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BridgeChain" type="Sprite2D" parent="." unique_id=1002244871]
position = Vector2(192, -16)
texture = ExtResource("1_030qv")
region_enabled = true
region_rect = Rect2(208, 128, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="BridgeChain" unique_id=364332794 node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_vt2ac")
node_to_affect = NodePath("..")
property_name = "texture"
themed_resource = SubResource("Resource_8q7qv")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="Camera" type="Camera2D" parent="." unique_id=1968732919]
position = Vector2(216, -56)
process_callback = 0
limit_left = -256
@ -203,25 +222,25 @@ limit_top = -208
limit_bottom = 32
editor_draw_limits = true
[node name="EditorPropertyExposer" type="Node" parent="."]
[node name="EditorPropertyExposer" type="Node" parent="." unique_id=1761088113]
script = ExtResource("10_wgdlx")
properties = Array[String](["length"])
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
[node name="Node" type="Node" parent="."]
[node name="Node" type="Node" parent="." unique_id=1651990252]
process_mode = 3
script = SubResource("GDScript_wgdlx")
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
[node name="LevelEditorVisibleNode" type="Node2D" parent="." unique_id=649003436]
script = ExtResource("11_puc3y")
metadata/_custom_type_script = "uid://cpwloakvp672a"
[node name="Sprite2D" type="Sprite2D" parent="LevelEditorVisibleNode"]
[node name="Sprite2D" type="Sprite2D" parent="LevelEditorVisibleNode" unique_id=208144054]
z_index = 4096
position = Vector2(192, 0)
texture = ExtResource("12_do8w3")
[node name="EditorToggleDetection" type="Node" parent="."]
[node name="EditorToggleDetection" type="Node" parent="." unique_id=1042719247]
script = ExtResource("13_do8w3")
[connection signal="area_entered" from="Axe/Hitbox" to="." method="on_area_entered" flags=3]

View file

@ -62,6 +62,8 @@ func breathe_fire() -> void:
return
sprite.play("FireCharge")
await get_tree().create_timer(1, false).timeout
if ignore_flag_die:
return
var flame = BOWSER_FLAME.instantiate()
flame.global_position = global_position + Vector2(18 * direction, -20)
flame.mode = 1
@ -77,23 +79,25 @@ func breathe_fire() -> void:
await get_tree().create_timer(0.5, false).timeout
sprite.play("Idle")
func bridge_fall() -> void:
process_mode = Node.PROCESS_MODE_ALWAYS
direction = 1
$FlameTimer.queue_free()
$HammerTime.queue_free()
$JumpTimer.queue_free()
sprite.play("Fall")
sprite.reset_physics_interpolation()
$MoveAnimation.queue_free()
can_fall = false
velocity.y = 0
await get_tree().create_timer(2).timeout
$FallSFX.play()
can_fall = true
$Collision.queue_free()
await get_tree().create_timer(2).timeout
queue_free()
func bridge_fall(start: bool = false) -> void:
if start:
process_mode = Node.PROCESS_MODE_ALWAYS
direction = 1
sprite.play("Fall")
sprite.reset_physics_interpolation()
$FlameTimer.queue_free()
$HammerTime.queue_free()
$JumpTimer.queue_free()
$MoveAnimation.queue_free()
can_fall = false
velocity.y = 0
else:
$FallSFX.play()
ignore_flag_die = true
can_fall = true
$Collision.queue_free()
await get_tree().create_timer(5).timeout
queue_free()
func throw_hammers() -> void:
if can_hammer == false:
@ -102,7 +106,13 @@ func throw_hammers() -> void:
await get_tree().create_timer(0.5, false).timeout
for i in randi_range(3, 6):
$Hammer.show()
if ignore_flag_die:
$Hammer.hide()
return
await get_tree().create_timer(0.1, false).timeout
if ignore_flag_die:
$Hammer.hide()
return
var node = HAMMER.instantiate()
node.velocity.y = -200
node.global_position = $Hammer.global_position

View file

@ -8,6 +8,7 @@ signal killed(direction: int)
@export var score_note_adder: ScoreNoteSpawner = null
var direction := -1
var ignore_flag_die := false
func damage_player(player: Player) -> void:
player.damage()
@ -31,7 +32,7 @@ func die_from_object(obj: Node2D) -> void:
queue_free()
func flag_die() -> void:
if on_screen_enabler != null:
if on_screen_enabler != null and ignore_flag_die == false:
if on_screen_enabler.is_on_screen():
queue_free()
if score_note_adder != null:

View file

@ -11,6 +11,7 @@ const DEFAULT_SFX_LIBRARY := {
"power_up": ("res://Assets/Audio/SFX/Powerup.wav"),
"item_appear": ("res://Assets/Audio/SFX/ItemAppear.wav"),
"block_break": ("res://Assets/Audio/SFX/BreakBlock.wav"),
"bridge_break": ("res://Assets/Audio/SFX/BreakBridge.wav"),
"enemy_stomp": ("res://Assets/Audio/SFX/Stomp.wav"),
"kick": ("res://Assets/Audio/SFX/Kick.wav"),
"fireball": ("res://Assets/Audio/SFX/Fireball.wav"),

View file

@ -45,20 +45,34 @@ func destroy_bridge(player: Player) -> void:
Global.can_time_tick = false
axe_touched.emit()
$Axe.queue_free()
if $AxeAnim.sprite_frames.has_animation("Cut"):
$AxeAnim.play("Cut")
else:
$AxeAnim.queue_free()
if bowser_present:
var bowser_count = 0
for i in get_tree().get_nodes_in_group("Bowser"):
i.bridge_fall()
if i.ignore_flag_die == false:
bowser_count += 1
i.bridge_fall(true)
if bowser_count <= 0:
return
get_tree().paused = true
await get_tree().create_timer(0.5).timeout
AudioManager.play_sfx("bridge_break", $BridgeChain.global_position)
$BridgeChain.queue_free()
await get_tree().create_timer(0.067).timeout
for i in $Bridge.get_children():
if i.visible:
AudioManager.play_sfx("block_break", i.global_position)
if Settings.file.visuals.bridge_animation == 0:
bridge_piece_break(i)
else:
bridge_piece_fall(i)
await get_tree().create_timer(0.1).timeout
await get_tree().create_timer(1.5).timeout
AudioManager.play_sfx("bridge_break", i.global_position)
if Settings.file.visuals.bridge_animation == 0:
bridge_piece_break(i)
else:
bridge_piece_fall(i)
await get_tree().create_timer(0.067).timeout
for i in get_tree().get_nodes_in_group("Bowser"):
i.bridge_fall(false)
await get_tree().create_timer(1).timeout
get_tree().paused = false
victory_sequence(player)