33 lines
1.4 KiB
GDScript
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)
|