1
1
# Libraries and Core Files
2
+ import json
2
3
import logging
3
4
import os
4
5
from pathlib import Path
5
6
6
- import json
7
7
import area .dream_zan
8
8
import logs
9
9
import memory .main
13
13
import xbox
14
14
import zz_airship_path
15
15
from gamestate import game
16
- import logging
16
+
17
17
logger = logging .getLogger (__name__ )
18
18
19
19
# This file is intended to load the game to a saved file.
23
23
FFXC = xbox .controller_handle ()
24
24
game_vars = vars .vars_handle ()
25
25
26
- def move_after_load (spec_move :str ):
26
+
27
+ def move_after_load (spec_move : str ):
27
28
if spec_move == "miihen_laugh" :
28
29
load_miihen_start_laugh ()
29
30
elif spec_move == "miihen_no_laugh" :
30
31
load_miihen_start ()
31
32
elif spec_move == "MRR" :
32
33
load_mrr ()
33
-
34
34
35
- def load_into_game (gamestate :str , step_counter :str ):
35
+
36
+ def load_into_game (gamestate : str , step_counter : str ):
36
37
logger .debug (f"Loading game state { gamestate } | { step_counter } " )
37
38
# If wrong maps are loaded in, try to reset.
38
39
if memory .main .get_map () not in [23 , 348 , 349 ]:
39
40
reset .reset_to_main_menu ()
40
41
area .dream_zan .new_game (gamestate = gamestate )
41
-
42
+
42
43
# Now to get details for the load/save files
43
- filepath = os .path .join (' json_ai_files' , ' save_load_details.json' )
44
+ filepath = os .path .join (" json_ai_files" , " save_load_details.json" )
44
45
with open (filepath , "r" ) as fp :
45
46
results = json .load (fp )
46
-
47
+
47
48
# Try to use new method, otherwise try old method.
48
49
try :
49
50
step_counter = str (step_counter )
@@ -52,7 +53,7 @@ def load_into_game(gamestate:str, step_counter:str):
52
53
logger .debug ("Failure 1" )
53
54
load_into_game_old (gamestate = gamestate , step_counter = step_counter )
54
55
return
55
-
56
+
56
57
# Init variables so we don't crash later
57
58
save_num_conf = 0
58
59
nemesis_conf = "none"
@@ -61,11 +62,11 @@ def load_into_game(gamestate:str, step_counter:str):
61
62
nea_zone = "none"
62
63
nem_ap = "none"
63
64
spec_move = "none"
64
-
65
+
65
66
print (results [gamestate ][step_counter ].keys ())
66
67
for key in results [gamestate ][step_counter ]:
67
68
save_num = int (results [gamestate ][step_counter ][key ]["save_num" ])
68
-
69
+
69
70
nemesis = key
70
71
if save_num > 200 :
71
72
pass
@@ -82,36 +83,37 @@ def load_into_game(gamestate:str, step_counter:str):
82
83
logger .debug (f"End game version { end_ver } " )
83
84
logger .debug (f"NEA zone { nea_zone } " )
84
85
logger .debug (f"Nemesis checkpoint { nem_ap } " )
85
-
86
+
86
87
if save_num_conf == 0 :
87
88
logger .debug ("Failure 2" )
88
89
load_into_game_old (gamestate = gamestate , step_counter = step_counter )
89
90
return
90
91
else :
91
92
# Perform the load
92
93
load_save_num (int (save_num_conf ))
93
- game_vars .set_blitz_win (value = (blitz_win == "True" ))
94
+ game_vars .set_blitz_win (value = (blitz_win == "True" ))
94
95
game_vars .end_game_version_set (value = int (end_ver ))
95
96
game_vars .set_nea_zone (value = int (nea_zone ))
96
97
game_vars .set_nem_checkpoint_ap (value = int (nem_ap ))
97
-
98
+
98
99
if spec_move != "none" :
99
100
logger .debug (f"Special movement needed: { spec_move } " )
100
101
move_after_load (spec_move = spec_move )
101
102
else :
102
103
logger .debug ("No Special movement needed" )
103
-
104
+
104
105
logger .debug (f"Blitz Win { game_vars .get_blitz_win ()} " )
105
106
logger .debug (f"End game version { game_vars .end_game_version ()} " )
106
107
logger .debug (f"NEA zone { game_vars .get_nea_zone ()} " )
107
108
logger .debug (f"Nemesis checkpoint { game_vars .nem_checkpoint_ap ()} " )
108
109
memory .main .check_nea_armor ()
109
-
110
+
110
111
except Exception as err_msg :
111
112
logger .debug (f"Error message: { err_msg } " )
112
113
logger .debug ("Failure 3" )
113
114
load_into_game_old (gamestate = gamestate , step_counter = step_counter )
114
115
116
+
115
117
def load_into_game_old (gamestate : str , step_counter : str ):
116
118
logger .debug (f"Loading game, old method: { gamestate } | { step_counter } " )
117
119
if not (gamestate == "Luca" and step_counter == 3 ):
@@ -699,18 +701,19 @@ def load_miihen_start():
699
701
700
702
def load_mrr ():
701
703
memory .main .await_control ()
702
- while not pathing .set_movement ([- 49 ,166 ]):
704
+ while not pathing .set_movement ([- 49 , 166 ]):
703
705
pass
704
- while not pathing .set_movement ([- 43 ,285 ]):
706
+ while not pathing .set_movement ([- 43 , 285 ]):
705
707
pass
706
- while not pathing .set_movement ([- 39 ,354 ]):
708
+ while not pathing .set_movement ([- 39 , 354 ]):
707
709
pass
708
-
710
+
709
711
FFXC .set_movement (0 , 1 )
710
712
memory .main .await_event ()
711
713
FFXC .set_neutral ()
712
714
memory .main .click_to_control ()
713
715
716
+
714
717
def load_mrr_2 ():
715
718
FFXC .set_movement (0 , 1 )
716
719
memory .main .wait_frames (30 * 0.3 )
0 commit comments