mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
88
Scripts/Parts/CastleToad.gd
Normal file
88
Scripts/Parts/CastleToad.gd
Normal file
@@ -0,0 +1,88 @@
|
||||
extends Node2D
|
||||
|
||||
@export var play_end_music := false
|
||||
var can_menu := false
|
||||
const ENDING = preload("res://Assets/Audio/BGM/Ending.mp3")
|
||||
|
||||
func _ready() -> void:
|
||||
if $Sprite is AnimatedSprite2D and Global.current_campaign == "SMBANN":
|
||||
$Sprite.play("Idle")
|
||||
Global.level_complete_begin.connect(begin)
|
||||
for i in [$SpeedrunMSG/ThankYou, $StandardMSG/ThankYou]:
|
||||
i.text = tr(i.text).replace("{PLAYER}", tr(Player.CHARACTER_NAMES[int(Global.player_characters[0])]))
|
||||
|
||||
func begin() -> void:
|
||||
$StaticBody2D/CollisionShape2D.set_deferred("disabled", false)
|
||||
%PBMessage.modulate.a = int(SpeedrunHandler.timer < SpeedrunHandler.best_time)
|
||||
if play_end_music:
|
||||
Global.game_beaten = true
|
||||
SaveManager.write_save()
|
||||
play_music()
|
||||
%Time.text = tr(%Time.text).replace("{TIME}", SpeedrunHandler.gen_time_string(SpeedrunHandler.format_time(SpeedrunHandler.timer)))
|
||||
$CameraRightLimit._enter_tree()
|
||||
await get_tree().create_timer(3, false).timeout
|
||||
if Global.current_game_mode == Global.GameMode.MARATHON_PRACTICE or (Global.current_game_mode == Global.GameMode.MARATHON and play_end_music):
|
||||
show_message($SpeedrunMSG)
|
||||
else:
|
||||
show_message($StandardMSG)
|
||||
if not play_end_music:
|
||||
await get_tree().create_timer(7, false).timeout
|
||||
exit_level()
|
||||
|
||||
func exit_level() -> void:
|
||||
match Global.current_game_mode:
|
||||
Global.GameMode.MARATHON_PRACTICE:
|
||||
Global.open_marathon_results()
|
||||
Global.GameMode.CUSTOM_LEVEL:
|
||||
Global.transition_to_scene("res://Scenes/Levels/CustomLevelMenu.tscn")
|
||||
Global.GameMode.LEVEL_EDITOR:
|
||||
Global.level_editor.stop_testing()
|
||||
_:
|
||||
if Global.current_campaign == "SMBANN":
|
||||
Global.open_disco_results()
|
||||
return
|
||||
if Global.world_num < 1:
|
||||
Global.transition_to_scene("res://Scenes/Levels/TitleScreen.tscn")
|
||||
else:
|
||||
Global.current_level.transition_to_next_level()
|
||||
|
||||
func do_tally() -> void:
|
||||
pass
|
||||
|
||||
func play_music() -> void:
|
||||
await AudioManager.music_override_player.finished
|
||||
AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.ENDING, 999999, false)
|
||||
if [Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) == false:
|
||||
show_message($EndingSpeech)
|
||||
await get_tree().create_timer(5, false).timeout
|
||||
can_menu = true
|
||||
else:
|
||||
can_menu = true
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if can_menu and Input.is_action_just_pressed("jump_0"):
|
||||
can_menu = false
|
||||
peach_level_exit()
|
||||
|
||||
func show_message(message_node: Node) -> void:
|
||||
for i in message_node.get_children():
|
||||
i.show()
|
||||
await get_tree().create_timer(1).timeout
|
||||
|
||||
func peach_level_exit() -> void:
|
||||
match Global.current_game_mode:
|
||||
Global.GameMode.MARATHON:
|
||||
Global.open_marathon_results()
|
||||
Global.GameMode.MARATHON_PRACTICE:
|
||||
Global.open_marathon_results()
|
||||
Global.GameMode.CUSTOM_LEVEL:
|
||||
Global.transition_to_scene("res://Scenes/Levels/CustomLevelMenu.tscn")
|
||||
Global.GameMode.LEVEL_EDITOR:
|
||||
Global.level_editor.play_toggle()
|
||||
_:
|
||||
if Global.current_campaign == "SMBLL" and Global.world_num == 8:
|
||||
Global.current_level.transition_to_next_level()
|
||||
elif Global.current_game_mode == Global.GameMode.CAMPAIGN:
|
||||
CreditsLevel.go_to_title_screen = true
|
||||
Global.transition_to_scene("res://Scenes/Levels/Credits.tscn")
|
||||
else: Global.transition_to_scene("res://Scenes/Levels/TitleScreen.tscn")
|
Reference in New Issue
Block a user