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) for enemy in get_tree().get_nodes_in_group("enemies"): enemy.set_physics_process(false) player.position = protected_planet.position + Vector2(float(protected_planet.get("radius")) * 0.75, 0) player.reset_physics_interpolation() GameState.captain.credits = 2500 GameState.captain.skills["business_shark"] = 2 var inventory := player.get_node("ShipInventory") as ShipInventory inventory.ammunition = 240 inventory.irradiated_ammunition = 12 inventory.missile_ammunition = 7 services_menu.show_services(false) await get_tree().create_timer(0.5).timeout assert(services_menu.get("panel").size.x <= 340.0) assert(services_menu.get("panel").size.y <= 290.0) var manager := get_node("PlanetExpeditions") manager._process(0) manager._layout_prompt() if manager._prompt.visible: assert(not services_menu.get_global_rect().intersects(manager._prompt.get_global_rect()),"Supply and telemetry cards must not overlap") if "--capture-preview" in OS.get_cmdline_user_args(): await RenderingServer.frame_post_draw get_viewport().get_texture().get_image().save_png("res://artifacts/planet_services_preview.png") print("PLANET_SERVICES_PREVIEW: captured ", services_menu.get("panel").size) var credits := GameState.captain.credits var cost := inventory.get_ammunition_buy_cost() services_menu.get("buy_ammunition_button").pressed.emit() assert(inventory.ammunition == 340 and GameState.captain.credits == credits - cost) credits = GameState.captain.credits cost = inventory.get_irradiated_ammunition_buy_cost() services_menu.get("_gamma_buy").pressed.emit() assert(inventory.irradiated_ammunition == 22 and GameState.captain.credits == credits - cost) credits = GameState.captain.credits cost = inventory.get_missile_buy_cost() services_menu.get("_missile_button").pressed.emit() assert(inventory.missile_ammunition == 8 and GameState.captain.credits == credits - cost) GameState.captain.credits = 0 GameState.captain.emit_changed() assert(services_menu.get("buy_ammunition_button").disabled and services_menu.get("_gamma_buy").disabled and services_menu.get("_missile_button").disabled) services_menu.show_services(false, true) assert(services_menu.get("next_button").disabled) print("PLANET_SERVICES_TEST: PASS compact dimensions, all purchases, discounts, stock refresh, insufficient credits and portal state") get_tree().quit()