extends Node func _ready() -> void: GameState.start_new_run() GameState.captain.skills = {"piloting": 4, "gunner": 3} GameState.captain.learning_points = 2 var game := preload("res://scenes/game/game.tscn").instantiate() add_child(game) await get_tree().process_frame await get_tree().process_frame assert(GameState.captain.learning_points == 9) assert(GameState.captain.skills.is_empty()) GameState.captain.normalize_skill_ranks() assert(GameState.captain.learning_points == 9) assert(GameState.captain.get_skill_bonus("piloting") == 0.0) assert(not GameState.captain.train_skill("gunner")) var root := game.get_node("HUD/HUDRoot") assert(not root.has_node("EnemyDrawer")) assert(root.get_node("CaptainPanel/Contents/Skills").get_child_count() == 0) var drawer := root.get_node("ShipDrawer") as Control assert(not drawer.visible) root.get_node("ShipToggle").emit_signal("pressed") assert(drawer.visible) assert(drawer.has_node("Scroll/Contents/ShipEquipmentPanel/Contents/EquipmentLayout/Weapon1")) assert(not drawer.has_node("Scroll/Contents/ShipEquipmentPanel/Contents/CraftingPanel")) var navigation := root.get_node("TopNavigation") navigation.get_child(0).emit_signal("pressed") assert(root.get_node("CraftingWindow").visible) assert(root.get_node("CraftingWindow/Contents/CraftingPanel/Contents/CraftingDetails").visible) navigation.get_child(1).emit_signal("pressed") assert(not root.get_node("CraftingWindow").visible) assert(root.get_node("CaptainSkillsWindow").visible) assert(root.get_node("CaptainSkillsWindow/Contents/SkillsContent").get_child_count() == 0) root.get_node("CaptainSkillsWindow/Contents").get_child(0).get_child(1).emit_signal("pressed") assert(not root.get_node("CaptainSkillsWindow").visible) assert(root.has_node("Cockpit/EnemyDetailsPanel/EnemyDetails")) print("FLIGHT_PROFILE_TEST: PASS navigation, ship slots, crafting, empty skills, enemy details and legacy point refund") # Keep the result available briefly for the runtime debugger. await get_tree().create_timer(15.0).timeout get_tree().quit()