Skip to content

Commit bdbab95

Browse files
authored
Add files via upload
1 parent 148137f commit bdbab95

24 files changed

+17050
-0
lines changed

FFX_Auto_Main.py

Lines changed: 631 additions & 0 deletions
Large diffs are not rendered by default.

FFX_Baaj.py

Lines changed: 326 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,326 @@
1+
import pyxinput
2+
import time
3+
import FFX_Xbox
4+
import FFX_Screen
5+
import FFX_Battle
6+
import FFX_memory
7+
8+
FFXC = FFX_Xbox.FFXC
9+
10+
11+
def Entrance():
12+
FFX_Screen.awaitMap1()
13+
print("Starting Baaj exterior area")
14+
FFXC.set_value('AxisLx', 0)
15+
FFXC.set_value('AxisLy', 0)
16+
17+
#First, we need to change aeon summons ### MOVE THIS TO LATER
18+
FFX_Xbox.menuY()
19+
time.sleep(0.6)
20+
FFX_Xbox.menuUp()
21+
FFX_Xbox.menuUp()
22+
FFX_Xbox.menuB()
23+
time.sleep(0.3)
24+
FFX_Xbox.menuUp()
25+
FFX_Xbox.menuUp()
26+
FFX_Xbox.menuUp()
27+
FFX_Xbox.menuRight()
28+
FFX_Xbox.menuA()
29+
FFX_Xbox.menuA()
30+
31+
#Now back into the water
32+
FFXC.set_value('AxisLy', 1)
33+
time.sleep(1)
34+
FFXC.set_value('AxisLx', -1)
35+
time.sleep(0.5)
36+
FFXC.set_value('AxisLy', 1)
37+
FFXC.set_value('AxisLx', 0)
38+
print("Mark 1")
39+
time.sleep(35)
40+
print("Mark 2")
41+
FFXC.set_value('AxisLx', 0)
42+
FFXC.set_value('AxisLy', 0)
43+
FFX_Screen.clickToBattle()
44+
45+
#Once we lose control, just keep clicking until we regain control.
46+
FFX_Battle.attack('none')
47+
time.sleep(0.2)
48+
FFX_Screen.awaitTurn()
49+
FFX_Battle.attack('none')
50+
FFX_Screen.clickToBattle()
51+
while not FFX_memory.userControl():
52+
if FFX_Screen.BattleScreen():
53+
FFX_Battle.defend()
54+
else:
55+
FFX_Xbox.menuB()
56+
57+
#Out of the frying pan, into the furnace
58+
pos = FFX_memory.getCoords()
59+
while FFX_memory.userControl():
60+
if pos[1] < 85:
61+
FFXC.set_value('AxisLx', -1)
62+
FFXC.set_value('AxisLy', 0)
63+
elif pos[1] < 130:
64+
FFXC.set_value('AxisLx', 0)
65+
FFXC.set_value('AxisLy', 1)
66+
elif pos[1] < 170:
67+
FFXC.set_value('AxisLx', -1)
68+
FFXC.set_value('AxisLy', 1)
69+
elif pos[1] < 190:
70+
FFXC.set_value('AxisLx', 1)
71+
FFXC.set_value('AxisLy', 1)
72+
elif pos[1] < 225:
73+
FFXC.set_value('AxisLx', 0)
74+
FFXC.set_value('AxisLy', 1)
75+
else:
76+
FFXC.set_value('AxisLx', -1)
77+
FFXC.set_value('AxisLy', 1)
78+
pos = FFX_memory.getCoords()
79+
80+
81+
def Baaj_puzzle():
82+
FFXC.set_value('AxisLy', 0)
83+
FFXC.set_value('AxisLx', 0)
84+
FFX_memory.clickToControl()
85+
print("Starting Baaj puzzle")
86+
FFXC.set_value('AxisLy', -1)
87+
time.sleep(0.3)
88+
FFXC.set_value('AxisLx', -1)
89+
90+
time.sleep(2.8)
91+
FFXC.set_value('AxisLy', 0)
92+
FFXC.set_value('AxisLx', 0)
93+
94+
FFX_Xbox.touchSaveSphere()
95+
96+
FFXC.set_value('AxisLy', -1)
97+
FFXC.set_value('AxisLx', -1)
98+
time.sleep(0.4)
99+
FFXC.set_value('AxisLy', 1)
100+
FFXC.set_value('AxisLx', 0)
101+
time.sleep(1.5) #Into the first room
102+
FFX_memory.awaitControl()
103+
time.sleep(0.04)
104+
FFX_memory.clickToEvent() #Grab Flint
105+
FFXC.set_value('AxisLy', -1)
106+
FFX_memory.clickToControl()
107+
time.sleep(0.04)
108+
FFX_memory.clickToEvent() #Exit the room
109+
time.sleep(0.04)
110+
111+
FFXC.set_value('AxisLx', 0)
112+
FFXC.set_value('AxisLy', 0)
113+
#Across the room
114+
FFX_memory.awaitControl()
115+
FFXC.set_value('AxisLy', -1)
116+
FFXC.set_value('AxisLx', 1)
117+
time.sleep(0.6)
118+
FFXC.set_value('AxisLx', 0)
119+
time.sleep(0.25)
120+
FFXC.set_value('AxisLx', 1)
121+
time.sleep(2.2)
122+
123+
pos = FFX_memory.getCoords()
124+
while FFX_memory.userControl():
125+
pos = FFX_memory.getCoords()
126+
FFXC.set_value('AxisLy', 1)
127+
if pos[1] > ((-1.13 * pos[0]) + 11.75):
128+
FFXC.set_value('AxisLx', 1)
129+
else:
130+
FFXC.set_value('AxisLx', 0)
131+
FFXC.set_value('AxisLy', 0)
132+
FFXC.set_value('AxisLx', 0)
133+
#FFXC.set_value('AxisLy', 1)
134+
#FFXC.set_value('AxisLx', 0)
135+
#time.sleep(3) #Enters the stair room/hallway
136+
#FFXC.set_value('AxisLy', 0)
137+
138+
#Grab the withered bouquet
139+
FFX_memory.awaitControl()
140+
pos = FFX_memory.getCoords()
141+
while FFX_memory.userControl():
142+
pos = FFX_memory.getCoords()
143+
FFXC.set_value('AxisLy', 1)
144+
if pos[1] < ((0.80 * pos[0]) -85.80) or pos[1] < -88:
145+
FFXC.set_value('AxisLx', 1)
146+
else:
147+
FFXC.set_value('AxisLx', 0)
148+
FFX_Xbox.menuB()
149+
150+
FFX_memory.clickToControl()
151+
FFXC.set_value('AxisLy', 0)
152+
FFXC.set_value('AxisLx', 0)
153+
#Back down the hallway
154+
while FFX_memory.userControl():
155+
pos = FFX_memory.getCoords()
156+
if pos[1] < 82:
157+
FFXC.set_value('AxisLy', -1)
158+
else:
159+
FFXC.set_value('AxisLy', 0)
160+
if pos[1] < ((0.80 * pos[0]) -85.80) or pos[1] > 82:
161+
FFXC.set_value('AxisLx', 1)
162+
elif pos[1] < 25 and pos[0] > 74:
163+
FFXC.set_value('AxisLx', 1)
164+
elif pos[0] > 90:
165+
FFXC.set_value('AxisLx', 1)
166+
else:
167+
FFXC.set_value('AxisLx', 0)
168+
FFX_Xbox.menuB()
169+
170+
FFXC.set_value('AxisLx', 0)
171+
FFXC.set_value('AxisLy', 0)
172+
#time.sleep(20)
173+
174+
#Back in the main room
175+
FFX_memory.awaitControl()
176+
FFXC.set_value('AxisLy', -1)
177+
time.sleep(2)
178+
FFXC.set_value('AxisLx', -1)
179+
FFX_Xbox.SkipDialog(2)
180+
181+
FFXC.set_value('AxisLy', 0)
182+
FFXC.set_value('AxisLx', 0)
183+
if FFX_memory.userControl():
184+
while FFX_memory.userControl():
185+
print("We missed the fireplace!")
186+
pos = FFX_memory.getCoords()
187+
if pos[0] > 2:
188+
FFXC.set_value('AxisLy', -1)
189+
elif pos[0] < -2:
190+
FFXC.set_value('AxisLy', 1)
191+
if pos[1] > 2:
192+
FFXC.set_value('AxisLx', -1)
193+
elif pos[1] < -2:
194+
FFXC.set_value('AxisLx', 1)
195+
196+
def Klikk_fight() :
197+
#Before Rikku shows up, we're just going to spam the click button. Simple.
198+
print("Waiting on Use tutorial")
199+
FFX_Screen.clickToPixel(897,295,(234, 199, 0))
200+
201+
print("Doing Use tutorial")
202+
FFX_Screen.clickToBattle()
203+
FFX_Battle.useItem(1,'none')
204+
205+
#Tidus self-potion
206+
FFX_Screen.awaitTurn()
207+
FFX_Battle.Klikk()
208+
209+
def ABboat1() :
210+
FFXC.set_value('AxisLy', -1)
211+
time.sleep(0.3)
212+
FFX_Xbox.SkipDialog(4) #Start Sphere Grid tutorial
213+
FFX_memory.clickToControl()
214+
FFXC.set_value('AxisLy', -1)
215+
FFX_Xbox.SkipDialog(1) #Talk to Rikku a second time.
216+
217+
FFXC.set_value('AxisLy', -1)
218+
FFXC.set_value('BtnA', 1)
219+
FFX_memory.clickToControl()
220+
221+
time.sleep(12)
222+
FFXC.set_value('AxisLy', 0)
223+
FFXC.set_value('BtnA', 0)
224+
225+
def ABswimming1() :
226+
complete = 0
227+
228+
print("Swimming towards airship")
229+
while complete == 0 :
230+
pos = FFX_memory.getCoords()
231+
ffxMap = FFX_memory.getMap()
232+
#print(ffxMap)
233+
if not FFX_memory.userControl():
234+
FFXC.set_value('AxisLy', 0)
235+
FFXC.set_value('AxisLx', 0)
236+
FFXC.set_value('BtnA', 0)
237+
if FFX_Screen.BattleScreen() :
238+
FFX_Battle.stealAndAttack()
239+
else:
240+
if ffxMap == 71:
241+
FFXC.set_value('AxisLy', -1)
242+
FFXC.set_value('BtnA', 1)
243+
elif ffxMap == 64:
244+
complete = 1
245+
else:
246+
checkpoint = 1
247+
FFXC.set_value('AxisLy', 1)
248+
FFXC.set_value('BtnA', 0)
249+
if pos[1] < ((2.56 * pos[0]) + 583.79):
250+
FFXC.set_value('AxisLx', 1)
251+
else:
252+
FFXC.set_value('AxisLx', 0)
253+
254+
def ABswimming2() :
255+
#Quick heal-up to make sure we're full HP on Rikku
256+
FFX_memory.awaitControl()
257+
FFXC.set_value('AxisLy', -1)
258+
FFXC.set_value('AxisLx', 1)
259+
FFXC.set_value('BtnA', 1)
260+
time.sleep(0.5)
261+
FFXC.set_value('AxisLy', 0)
262+
FFXC.set_value('AxisLx', 0)
263+
FFXC.set_value('BtnA', 0)
264+
FFX_Xbox.touchSaveSphere()
265+
266+
#Now to get to it
267+
FFXC.set_value('AxisLy', 1)
268+
time.sleep(0.3)
269+
FFX_memory.clickToEvent()
270+
time.sleep(0.2)
271+
FFX_memory.awaitControl()
272+
273+
pos = FFX_memory.getCoords()
274+
while FFX_memory.userControl():
275+
FFXC.set_value('AxisLy', 1)
276+
if pos[1] < 135:
277+
FFXC.set_value('AxisLx', 1)
278+
else:
279+
FFXC.set_value('AxisLx', 0)
280+
281+
pos = FFX_memory.getCoords()
282+
FFXC.set_value('AxisLy', 0)
283+
FFXC.set_value('AxisLx', 0)
284+
285+
#Final group of Pirhanas
286+
FFX_Battle.stealAndAttackPreTros()
287+
FFXC.set_value('AxisLy', 1)
288+
FFX_Xbox.SkipDialog(2)
289+
FFXC.set_value('AxisLy', -1)
290+
FFX_Screen.clickToMap1()
291+
time.sleep(2)
292+
FFX_memory.clickToEvent()
293+
print("Engaging Tros")
294+
FFXC.set_value('AxisLy', 0)
295+
FFXC.set_value('AxisLx', 0)
296+
297+
#Tros fight
298+
FFX_Battle.Tros()
299+
FFX_memory.awaitControl()
300+
FFXC.set_value('AxisLy', 1)
301+
time.sleep(2)
302+
FFXC.set_value('AxisLx', 1)
303+
time.sleep(2)
304+
FFXC.set_value('AxisLy', 0)
305+
time.sleep(1)
306+
FFXC.set_value('AxisLy', 1)
307+
time.sleep(5)
308+
FFXC.set_value('AxisLx', 0)
309+
FFXC.set_value('AxisLy', 0)
310+
FFX_memory.awaitControl()
311+
time.sleep(1)
312+
FFXC.set_value('AxisLx', 1)
313+
time.sleep(30)
314+
FFXC.set_value('AxisLx', 0)
315+
316+
#Back onto the ship
317+
FFX_memory.clickToControl()
318+
FFXC.set_value('AxisLx', 1)
319+
time.sleep(0.35)
320+
FFXC.set_value('AxisLx', 0)
321+
FFXC.set_value('AxisLy', 1)
322+
FFX_Xbox.SkipDialog(1)
323+
FFXC.set_value('AxisLy', 0)
324+
FFXC.set_value('AxisLx', 0)
325+
326+
FFX_Screen.awaitSave()

0 commit comments

Comments
 (0)