extends SceneTree var n := 0 func c(rt, clock, k, p): n += 1 var r: CommandResult = rt.submit_command(k, p, &"player", &"", 0, clock.absolute_minute, StringName("p1403.%d" % n)) if not r.is_success(): print("FAIL ", k, " ", r.message) return r func _initialize() -> void: call_deferred("_run") func _run() -> void: var clock: Variant = load("res://autoload/game_clock.gd").new() var state: Variant = load("res://autoload/game_state.gd").new() var rt: Variant = load("res://autoload/simulation_runtime.gd").new() clock.reset(1, 6, 0); state.reset(); rt.initialize(clock, state, 1403); clock.set_paused(true) c(rt, clock, &"change_resources", {&"deltas": {&"gold": 30000, &"materials": 300}}) c(rt, clock, &"build_facility", {&"definition_id": &"guest_elevator", &"origin": Vector3i(0,0,0)}) c(rt, clock, &"build_facility", {&"definition_id": &"guest_elevator", &"origin": Vector3i(4,0,0)}) clock.advance_minutes(360) c(rt, clock, &"build_facility", {&"definition_id": &"guest_elevator", &"origin": Vector3i(0,2,0)}) for x in [2, 3]: c(rt, clock, &"build_facility", {&"definition_id": &"guest_corridor", &"origin": Vector3i(x,1,0)}) clock.advance_minutes(360) clock.advance_minutes(10 - int(clock.absolute_minute) % 10 + 1) for i in 12: var gid := StringName("rush_%02d" % i) c(rt, clock, &"spawn_guest", {&"guest_id": gid, &"guest_type_id": &"traveler", &"options": {&"current_cell": Vector3i(0,0,0)}}) var t = rt.elevators.request_trip(StringName("guest:%s" % gid), Vector3i(0,0,0), Vector3i(0,3,0), clock.absolute_minute) if not t.ok: print("TRIPFAIL ", t) var dyn := [] for row in rt.path_service.create_snapshot()[&"connectors"]: if String(row[&"id"]).begins_with("transport."): dyn.append(int(row[&"dynamic_cost"])) print("LEGACY dynamic costs ", dyn) var out := OS.get_environment("LEGACY_OUT") print("SAVE ", SaveService.save_snapshot(out, rt.create_snapshot())[&"ok"], " ", out) rt.free(); clock.free(); state.free(); quit(0)