Explosion_der_Spiele/scripts/levels/end_screen.gd
copilot 1d9e0a6532 Wire quest flow and combat across all levels.
Connect bear-save, massage, farm paywall, cheese catapults, Dressler hijack, final boss phases, fat-stim UI, and scene fixes so the satire path plays through.
2026-09-14 19:08:00 +02:00

52 lines
1.8 KiB
GDScript

extends Node3D
## Enddorf: Hausbau + Zahnionär. Kein Happy End.
func _ready() -> void:
GameState.current_scene_id = "end_screen"
GameState.heal_full()
var ui := get_node_or_null("/root/UIRoot")
if ui and ui.has_method("show_dialog"):
ui.show_dialog(Locale.tr_key("dialog_end_angry"), 4.0)
var house := get_node_or_null("HouseSpot")
if house and house.has_signal("interacted"):
house.interacted.connect(_on_house)
var dentist := get_node_or_null("DentistHeist")
if dentist and dentist.has_signal("interacted"):
dentist.interacted.connect(_on_heist)
if GameState.house_built or GameState.get_flag("house_built", false):
_show_house()
func _on_house(_n: Node = null) -> void:
GameState.house_built = true
GameState.set_flag("house_built", true)
_show_house()
var ui := get_node_or_null("/root/UIRoot")
if ui and ui.has_method("show_dialog"):
ui.show_dialog(Locale.tr_key("build_house"))
func _show_house() -> void:
var house := get_node_or_null("BuiltHouse")
if house:
house.visible = true
return
var scene: PackedScene = load("res://scenes/prefabs/npc.tscn")
if scene == null:
return
var h: Node3D = scene.instantiate()
h.name = "BuiltHouse"
add_child(h)
h.global_position = Vector3(3, 0.1, -2)
h.set("texture_path", "res://assets/sprites/placeholders/house.png")
h.set("dialog_key", "build_house")
var bill = h.get_node_or_null("BillboardSprite")
if bill and bill.has_method("set_texture"):
var tex: Texture2D = load("res://assets/sprites/placeholders/house.png")
if tex:
bill.set_texture(tex)
func _on_heist(_n: Node = null) -> void:
Inventory.add_item("tooth", 100)
Achievements.unlock("tooth_millionaire")
var ui := get_node_or_null("/root/UIRoot")
if ui and ui.has_method("show_dialog"):
ui.show_dialog(Locale.tr_key("dialog_toothionaire"), 4.0)