extends Node2D func _ready() -> void: GameState.start_new_run() var captain := GameState.captain var catalog := preload("res://scripts/captain/captain_skills.gd") for id in catalog.IDS: captain.skills[id] = 1 captain.parts = 5.0 captain.equip_skill(0,"emergency_procedure") var game := preload("res://scenes/game/game.tscn").instantiate() add_child(game) game.set_physics_process(false) game.player.set_physics_process(false) game.player.get_node("WeaponController").set_physics_process(false) for enemy in get_tree().get_nodes_in_group("enemies"): enemy.set_physics_process(false) var ui: CanvasLayer = game.find_child("CaptainSkills",true,false) captain.learning_points = 1 captain.skill_offers.assign(["scientist","gunsmith","bounty_hunter"]) ui.open_management() await _snapshot("res://artifacts/new_captain_skills_economy.png") captain.skill_offers.assign(["missile_specialist","emergency_procedure"]) ui.open_management() await _snapshot("res://artifacts/new_captain_skills_combat.png") game.player.hull = game.player.max_hull * 0.5 assert(captain.activate_skill("emergency_procedure",game.player)) print("NEW_CAPTAIN_SKILLS_PREVIEW: PASS") get_tree().quit() func _snapshot(path: String) -> void: for index in 12: await get_tree().process_frame await RenderingServer.frame_post_draw assert(get_viewport().get_texture().get_image().save_png(path) == OK)