Randoloot/tests/previews/new_captain_skills_preview.gd
2026-10-26 19:33:45 +01:00

33 lines
1.4 KiB
GDScript

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)