extends SceneTree ## All three deaths, and that you can get up again. ## Godot --headless --path game --script dev/probe_death.gd func _initialize() -> void: var main: Node = (load("res://main.tscn") as PackedScene).instantiate() get_root().add_child(main) await process_frame main._load_level("backrooms") for i in 8: await physics_frame var br = main.get("_backrooms") var player = main.get("_player") # --- 1. STARE: park it in view and don't look away --- print("--- stare ---") player.global_position = Vector3.ZERO player.rotation.y = 0.0 var placed := false for d in [3.0, 4.0, 5.0, 6.0, 8.0]: br.entity.global_position = Vector3(0, 0, -d) await physics_frame await physics_frame if br.entity.seen_now: placed = true break print(" sightline: ", placed) var ticks := 0 while not br.dying and ticks < 900: br.entity.global_position = Vector3(0, 0, -4) # hold it there await physics_frame ticks += 1 print(" dying=%s cause=%s after %.1fs dread=%.2f" % [ br.dying, br.death_cause, ticks / 60.0, br.dread]) print(" player frozen: ", player._frozen) # let the sequence run for i in 300: await physics_frame print(" card shown: ", br._card_shown) # --- get up --- br.revive() main._reset() for i in 8: await physics_frame print(" after revive: dying=%s dread=%.2f frozen=%s" % [ br.dying, br.dread, player._frozen]) # --- 2. REACH: a touch while already terrified --- print("--- reach ---") br.dread = 0.80 br.entity._cd = 0.0 br.entity._catch() await process_frame print(" dying=%s cause=%s" % [br.dying, br.death_cause]) br.revive() main._reset() for i in 6: await physics_frame # --- 3. LOOP: walk the same room until it keeps you --- print("--- loop ---") br.loops = 10 br.dread = 0.0 player.global_position = Vector3(0, 0, 18.6) for i in 8: await physics_frame print(" loops=%d dying=%s cause=%s" % [br.loops, br.dying, br.death_cause]) quit()