diff --git a/Scenes/Levels/SMB1/World-1/-1-1.tscn b/Scenes/Levels/SMB1/World-1/-1-1.tscn index b54d0a8..d4eda12 100644 --- a/Scenes/Levels/SMB1/World-1/-1-1.tscn +++ b/Scenes/Levels/SMB1/World-1/-1-1.tscn @@ -109,7 +109,7 @@ metadata/_custom_type_script = "uid://caq1qiwmy0mox" [node name="ResourceSetterNew" type="Node" parent="PeachNPC2" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("19_xhct6") -node_to_affect = NodePath("") +node_to_affect = NodePath("..") property_name = "sprite_frames" resource_json = ExtResource("20_62ed8") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" @@ -145,25 +145,25 @@ position = Vector2(1592, -16) position = Vector2(2008, -96) [connection signal="collected" from="Tiles/Coin" to="Tiles/Coin/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67370" to="Tiles/@Node2D@67370/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67371" to="Tiles/@Node2D@67371/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67372" to="Tiles/@Node2D@67372/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67373" to="Tiles/@Node2D@67373/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67374" to="Tiles/@Node2D@67374/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67375" to="Tiles/@Node2D@67375/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67376" to="Tiles/@Node2D@67376/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67377" to="Tiles/@Node2D@67377/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67378" to="Tiles/@Node2D@67378/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67379" to="Tiles/@Node2D@67379/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67380" to="Tiles/@Node2D@67380/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67381" to="Tiles/@Node2D@67381/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67382" to="Tiles/@Node2D@67382/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67383" to="Tiles/@Node2D@67383/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67384" to="Tiles/@Node2D@67384/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67385" to="Tiles/@Node2D@67385/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67386" to="Tiles/@Node2D@67386/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67387" to="Tiles/@Node2D@67387/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67388" to="Tiles/@Node2D@67388/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67389" to="Tiles/@Node2D@67389/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67390" to="Tiles/@Node2D@67390/LevelPersistance" method="set_as_active"] -[connection signal="collected" from="Tiles/@Node2D@67391" to="Tiles/@Node2D@67391/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48636" to="Tiles/@Node2D@48636/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48637" to="Tiles/@Node2D@48637/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48638" to="Tiles/@Node2D@48638/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48639" to="Tiles/@Node2D@48639/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48640" to="Tiles/@Node2D@48640/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48641" to="Tiles/@Node2D@48641/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48642" to="Tiles/@Node2D@48642/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48643" to="Tiles/@Node2D@48643/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48644" to="Tiles/@Node2D@48644/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48645" to="Tiles/@Node2D@48645/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48646" to="Tiles/@Node2D@48646/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48647" to="Tiles/@Node2D@48647/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48648" to="Tiles/@Node2D@48648/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48649" to="Tiles/@Node2D@48649/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48650" to="Tiles/@Node2D@48650/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48651" to="Tiles/@Node2D@48651/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48652" to="Tiles/@Node2D@48652/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48653" to="Tiles/@Node2D@48653/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48654" to="Tiles/@Node2D@48654/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48655" to="Tiles/@Node2D@48655/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48656" to="Tiles/@Node2D@48656/LevelPersistance" method="set_as_active"] +[connection signal="collected" from="Tiles/@Node2D@48657" to="Tiles/@Node2D@48657/LevelPersistance" method="set_as_active"] diff --git a/Scenes/Prefabs/LevelObjects/EndFlagpole.tscn b/Scenes/Prefabs/LevelObjects/EndFlagpole.tscn index bd56e79..ca54d62 100644 --- a/Scenes/Prefabs/LevelObjects/EndFlagpole.tscn +++ b/Scenes/Prefabs/LevelObjects/EndFlagpole.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=24 format=3 uid="uid://c6loucilra6da"] +[gd_scene load_steps=22 format=3 uid="uid://c6loucilra6da"] [ext_resource type="Script" uid="uid://dwfnvpioh2kvi" path="res://Scripts/Parts/EndFlagpole.gd" id="1_3rtm4"] [ext_resource type="Texture2D" uid="uid://3vg41a5plc4e" path="res://Assets/Sprites/Tilesets/FlagPole.png" id="1_hnd65"] -[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_62gix"] [ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/FlagPole.json" id="4_nykv5"] [ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_dm4yn"] [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="5_jihtx"] @@ -57,9 +56,6 @@ _data = { &"RESET": SubResource("Animation_xwflf") } -[sub_resource type="CircleShape2D" id="CircleShape2D_c56yc"] -radius = 4.0 - [sub_resource type="Animation" id="Animation_uwkl1"] length = 0.001 tracks/0/type = "value" @@ -170,14 +166,6 @@ libraries = { &"": SubResource("AnimationLibrary_62gix") } -[node name="Top" type="Area2D" parent="."] -script = ExtResource("4_62gix") -metadata/_custom_type_script = "uid://cnheej0sxmoxg" - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Top"] -position = Vector2(0, -164) -shape = SubResource("CircleShape2D_c56yc") - [node name="ScoreNoteSpawner" type="Node" parent="."] script = ExtResource("5_dm4yn") note_offset = Vector2(0, -160) @@ -211,5 +199,3 @@ json_file_path = "res://Assets/Sprites/Tilesets/FlagPole.json" metadata/_custom_type_script = "uid://cqif1li7otvpl" [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"] -[connection signal="player_entered" from="Top" to="." method="on_player_entered"] -[connection signal="player_entered" from="Top" to="ScoreNoteSpawner" method="spawn_one_up_note" unbinds=1] diff --git a/Scripts/Classes/Entities/Items/SuperMushroom.gd b/Scripts/Classes/Entities/Items/SuperMushroom.gd index 1c39106..dee71b0 100644 --- a/Scripts/Classes/Entities/Items/SuperMushroom.gd +++ b/Scripts/Classes/Entities/Items/SuperMushroom.gd @@ -18,10 +18,10 @@ func on_area_entered(area: Area2D) -> void: func give_life(_player: Player) -> void: DiscoLevel.combo_amount += 1 AudioManager.play_sfx("1_up", global_position) - if Global.current_game_mode == Global.GameMode.CHALLENGE or Settings.file.difficulty.inf_lives: + if [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) or Settings.file.difficulty.inf_lives: Global.score += 2000 $ScoreNoteSpawner.spawn_note(2000) else: - $ScoreNoteSpawner.spawn_one_up_note() Global.lives += 1 + $ScoreNoteSpawner.spawn_one_up_note() queue_free() diff --git a/Scripts/Classes/Entities/Player.gd b/Scripts/Classes/Entities/Player.gd index a2a1bdd..dc717ad 100644 --- a/Scripts/Classes/Entities/Player.gd +++ b/Scripts/Classes/Entities/Player.gd @@ -445,7 +445,7 @@ func enemy_bounce_off(add_combo := true, award_score := true) -> void: func add_stomp_combo(award_score := true) -> void: if stomp_combo >= 10: if award_score: - if Global.current_game_mode == Global.GameMode.CHALLENGE or Settings.file.difficulty.inf_lives: + if [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_gamemode) or Settings.file.difficulty.inf_lives: Global.score += 10000 score_note_spawner.spawn_note(10000) else: diff --git a/Scripts/Classes/Entities/ShellClass.gd b/Scripts/Classes/Entities/ShellClass.gd index 3d21d9b..38758c5 100644 --- a/Scripts/Classes/Entities/ShellClass.gd +++ b/Scripts/Classes/Entities/ShellClass.gd @@ -67,7 +67,7 @@ func on_player_hit(hit_player: Player) -> void: func award_score(award_level: int) -> void: if award_level >= 10: - if Global.current_game_mode == Global.GameMode.CHALLENGE or Settings.file.difficulty.inf_lives: + if [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) or Settings.file.difficulty.inf_lives: $ScoreNoteSpawner.spawn_note(10000) else: AudioManager.play_global_sfx("1_up") diff --git a/Scripts/Parts/EndCastle.gd b/Scripts/Parts/EndCastle.gd index 4ef6d24..a331095 100644 --- a/Scripts/Parts/EndCastle.gd +++ b/Scripts/Parts/EndCastle.gd @@ -85,9 +85,13 @@ func do_lost_levels_firework_check() -> void: else: await show_fireworks(3) if Global.coins % 11 == 0: - spawn_one_up_note() AudioManager.play_sfx("1_up", global_position) - Global.lives += 1 + if [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) or Settings.file.difficulty.inf_lives: + Global.score += 2000 + $ScoreNoteSpawner.spawn_note(2000) + else: + Global.lives += 1 + spawn_one_up_note() const ONE_UP_NOTE = preload("uid://dopxwjj37gu0l") diff --git a/Scripts/Parts/EndFlagpole.gd b/Scripts/Parts/EndFlagpole.gd index 303cbe5..e2f9f9f 100644 --- a/Scripts/Parts/EndFlagpole.gd +++ b/Scripts/Parts/EndFlagpole.gd @@ -6,17 +6,10 @@ signal player_reached signal sequence_begin -func _ready() -> void: - if Settings.file.difficulty.flagpole_lives == 0: - print(Settings.file.difficulty) - $Top.queue_free() - func on_area_entered(area: Area2D) -> void: if area.owner is Player: player_touch(area.owner) - - func player_touch(player: Player) -> void: player_reached.emit() if Global.current_game_mode == Global.GameMode.MARATHON_PRACTICE: @@ -50,10 +43,10 @@ func give_points(player: Player) -> void: var value = clamp(int(lerp(0, 4, (player.global_position.y / -144))), 0, 4) var nearest_value = FLAG_POINTS[value] $Score.text = str(nearest_value) - Global.score += nearest_value - $Score/Animation2.play("ScoreRise") - -func on_player_entered(player: Player) -> void: - player_touch(player) - Global.lives += 1 - AudioManager.play_sfx("1_up", global_position) + if nearest_value == 5000 and Settings.file.difficulty.flagpole_lives and not [Global.GameMode.CHALLENGE, Global.GameMode.BOO_RACE].has(Global.current_game_mode) and not Settings.file.difficulty.inf_lives: + AudioManager.play_sfx("1_up", global_position) + Global.lives += 1 + $ScoreNoteSpawner.spawn_one_up_note() + else: + Global.score += nearest_value + $Score/Animation2.play("ScoreRise")