Randoloot/tests/previews/passive_extensions_preview.gd
2026-10-17 16:20:14 +02:00

46 lines
2.1 KiB
GDScript

extends "res://scripts/game/game.gd"
func _ready() -> void:
super._ready()
set_physics_process(false)
player.set_physics_process(false)
player.get_node("WeaponController").set_physics_process(false)
var inventory := player.get_node("ShipInventory") as ShipInventory
var ids := ["recycler", "virus", "titanium_armor"]
for index in ids.size():
var item := preload("res://scripts/items/item_generator.gd").generate_for_definition(load("res://resources/items/%s.tres" % ids[index]), 1)
item.passive_value = [5.0, 2.0, 15.0][index]
inventory.extension_slots[index] = item
var skills := preload("res://scripts/captain/captain_skills.gd")
for skill in skills.IDS:
if not bool(skills.DATA[skill]["active"]):
GameState.captain.skills[skill] = 1
GameState.captain.emit_changed()
inventory.inventory_changed.emit()
var enemies := get_tree().get_nodes_in_group("enemies")
for enemy in enemies:
enemy.set_physics_process(false)
if enemies.size() >= 2:
enemies[0].global_position = player.global_position + Vector2(140, -50)
enemies[0].hull = 1
player.try_control_enemy(enemies[0])
enemies[1].global_position = player.global_position + Vector2(290, 15)
await get_tree().process_frame
if not $HUD.get("_sidebar_open"):
$HUD.call("_toggle_sidebar")
if "--capture-preview" in OS.get_cmdline_user_args():
await get_tree().create_timer(1.0).timeout
var output := "res://artifacts/passive_extensions_preview.png"
if "--captain-window" in OS.get_cmdline_user_args():
$HUD.get("_captain_skills_ui").call("open_management")
await get_tree().process_frame
await get_tree().process_frame
output = "res://artifacts/captain_window_preview.png"
assert($HUD.get("_passive_captain_panel").position.x < 20)
assert($HUD.get("_passive_ship_panel").position.x > 900)
assert($HUD.get_node("HUDRoot/MissionObjectives").position.y > $HUD.get("_captain_panel").position.y + $HUD.get("_captain_panel").size.y)
await RenderingServer.frame_post_draw
get_viewport().get_texture().get_image().save_png(output)
print("PREVIEW: captured passive extension HUD")
get_tree().quit()