extends Control ## Blinky death screen + absurd revive (Nein=revive, Ja=quit). @onready var title: Label = $Title @onready var cause: Label = $Cause @onready var btn_revive: Button = $ReviveButton @onready var btn_no: Button = $NoButton @onready var btn_yes: Button = $YesButton @onready var hint: Label = $Hint @onready var skull: ColorRect = $Skull @onready var bg: ColorRect = $Bg var _blink: float = 0.0 var _skull_timer: float = 0.0 var _colors: Array[Color] = [ Color(0.05, 0.05, 0.05), Color(0.9, 0.1, 0.4), Color(0.1, 0.8, 0.3), Color(0.2, 0.3, 1.0), Color(1.0, 0.8, 0.1), ] func _ready() -> void: GameState.current_scene_id = "death_screen" Input.mouse_mode = Input.MOUSE_MODE_VISIBLE _refresh() Locale.locale_changed.connect(_refresh) skull.visible = false func _refresh() -> void: title.text = Locale.tr_key("death_title") cause.text = Locale.tr_key(GameState.last_death_cause_key) btn_revive.text = Locale.tr_key("death_revive") btn_no.text = Locale.tr_key("death_no") btn_yes.text = Locale.tr_key("death_yes") hint.text = Locale.tr_key("death_no_hint") + "\n" + Locale.tr_key("death_yes_hint") func _process(delta: float) -> void: _blink += delta var idx := int(_blink) % _colors.size() bg.color = _colors[idx] _skull_timer += delta if _skull_timer >= 10.0: _skull_timer = 0.0 skull.visible = true await get_tree().create_timer(1.0).timeout skull.visible = false func _on_revive_pressed() -> void: GameState.revive_continue() func _on_no_pressed() -> void: ## Satire: Nein = trotzdem wiederbeleben GameState.revive_continue() func _on_yes_pressed() -> void: ## Satire: Ja = Spiel beenden → Title GameState.quit_to_title()