revo-jailbreak/maps/boss/boss3_arena.gd

58 lines
1.6 KiB
GDScript

extends "res://maps/map.gd"
onready var sg_health: HSlider = $"%SGHealth"
onready var sg_energy: HSlider = $"%SGEnergy"
onready var fami_health: HSlider = $"%FamiHealth"
onready var sg2083: KinematicBody2D = $"2083"
onready var famira: Node2D = $Famira
func _ready() -> void:
sg_energy.max_value = sg2083.max_energy
sg2083.state = sg2083.State.INACTIVE
famira.animation_player.play("grow", -1.0, 0.0)
func _on_2083_health_changed(amount) -> void:
sg_health.value = amount
func _on_Famira_health_changed(amount) -> void:
fami_health.value = -amount
func _on_cutscene_finished() -> void:
$GUI.visible = true
sg2083.visible = true
sg2083.state = sg2083.State.STAND
famira.visible = true
famira.animation_player.play("grow")
yield(get_tree().create_timer(0.5), "timeout")
$FamiCutscene/FamiHuman.visible = false
func _on_2083_energy_changed(amount) -> void:
sg_energy.value = amount
func _on_Famira_died() -> void:
sg2083.state = sg2083.State.INACTIVE
var tween = create_tween()
tween.set_trans(Tween.TRANS_CUBIC)
tween.tween_property($"%Camera", "global_position:x", famira.global_position.x - 128, 0.5)
tween.tween_interval(10.0)
tween.tween_callback(self, "_on_death_cooldown")
func _on_death_cooldown() -> void:
if Game.marathon_mode:
Game.current_level += 1
if Game.current_level > LevelData.marathon_end:
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.change_scene(load("res://menus/marathon_results.tscn").instance())
else:
Game.change_map(LevelData.levels[Game.current_level].scene)
else:
Game.change_map(load("res://menus/level_select_scholar.tscn"))