48 lines
2.1 KiB
GDScript
48 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
|
|
if "--skill-points" in OS.get_cmdline_user_args():
|
|
GameState.captain.learning_points = 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()
|