extends Node2D signal cutscene_finished const DeathParticles = preload("res://objects/enemy/death_particles.tscn") export var cutscene_skip: float = 78.5 onready var animation_player: AnimationPlayer = $AnimationPlayer func _init() -> void: connect("cutscene_finished", self, "_on_cutscene_finished") Game.can_restart = false func _on_cutscene_finished() -> void: Game.can_pause = true Audio.play_sound(Audio.a_fami_transform,Audio.ac_voice) func _physics_process(delta: float) -> void: if animation_player.current_animation_position < cutscene_skip: Game.can_pause = false func _input(event: InputEvent) -> void: if event.is_action_pressed("jump") and animation_player.current_animation_position < (cutscene_skip - Options.transition_speed_secs * 2.0): skip_cutscene() if event.is_action_pressed("debug_2"): animation_player.seek(60) func skip_cutscene() -> void: Fade.fade_out(Options.transition_speed_secs) yield(Fade, "fade_finished") animation_player.seek(cutscene_skip) Fade.fade_in(Options.transition_speed_secs) func kill_cop() -> void: var splatter := DeathParticles.instance() splatter.global_position = $Cop.global_position splatter.emitting = true Audio.play_sound(Audio.a_copsquash,Audio.ac_land) Audio.play_sound(Audio.a_copsquash2,Audio.ac_voice) add_child(splatter) $Cop.queue_free() func stop_music(): Audio.ac_music.playing = false func play_rumble_intro(): Audio.play_music(load("res://audio/music/rumble_revolution_intro.ogg")) func _notification(what: int) -> void: match what: NOTIFICATION_WM_FOCUS_OUT: animation_player.playback_active = false $FamiVoice.stream_paused = true NOTIFICATION_WM_FOCUS_IN: animation_player.playback_active = true $FamiVoice.stream_paused = false