@@ -31,14 +31,14 @@ def engage():
31
31
FFXC .set_value ('BtnB' ,0 )
32
32
time .sleep (0.035 )
33
33
else :
34
-
34
+
35
35
#Move to first egg, while in control.
36
36
complete = 0
37
37
activeEgg = 99
38
38
target = [10 ,- 10 ]
39
39
moveVersion = 0
40
40
while complete == 0 :
41
-
41
+
42
42
if activeEgg == 99 :
43
43
if lookingCount % 200 < 100 :
44
44
target = [20 ,- 20 ]
@@ -77,153 +77,30 @@ def engage():
77
77
#target = [-70,-70]
78
78
player = FFX_memory .getCoords ()
79
79
cam = FFX_memory .getCamera ()
80
+
81
+ # Calculate forward and right directions relative to camera space
82
+ pX = player [0 ]
83
+ pY = player [1 ]
84
+ cX = cam [1 ]
85
+ cY = cam [2 ]
86
+ eX = target [0 ]
87
+ eY = target [1 ]
88
+ forward = (pX - cX )* (eX - pX ) + (pY - cY )* (eY - pY )
89
+ right = (pY - cY )* (eX - pX ) + (cX - pX )* (eY - pY )
90
+
91
+ # Normalize so that the final axis vector has a length of 1
92
+ sum = forward + right
93
+ FFXC .set_value ('AxisLx' , right / sum )
94
+ FFXC .set_value ('AxisLy' , forward / sum )
95
+
96
+
80
97
#camCount += 1
81
98
#print(camCount)
82
99
#if camCount % 20 == 0:
83
100
# FFX_Logs.writePlot("TEST")
84
-
85
- if cam [0 ] > 1.1 :
86
- moveVersion = 1
87
- if player [0 ] < target [0 ] - 2 :
88
- FFXC .set_value ('AxisLy' , - 1 )
89
- elif player [0 ] > target [0 ] + 2 :
90
- FFXC .set_value ('AxisLy' , 1 )
91
- else :
92
- FFXC .set_value ('AxisLy' , 0 )
93
-
94
- if cam [2 ] < player [1 ]:
95
- if player [1 ] < target [1 ] - 2 :
96
- FFXC .set_value ('AxisLx' , 1 )
97
- elif player [1 ] + target [1 ] + 2 :
98
- FFXC .set_value ('AxisLx' , - 1 )
99
- else :
100
- FFXC .set_value ('AxisLx' , 0 )
101
- else :
102
- if player [1 ] < target [1 ] - 2 :
103
- FFXC .set_value ('AxisLx' , - 1 )
104
- elif player [1 ] + target [1 ] + 2 :
105
- FFXC .set_value ('AxisLx' , 1 )
106
- else :
107
- FFXC .set_value ('AxisLx' , 0 )
108
- elif cam [0 ] < - 1 :
109
- moveVersion = 2
110
- if player [0 ] < target [0 ] - 2 :
111
- FFXC .set_value ('AxisLy' , 1 )
112
- elif player [0 ] > target [0 ] + 2 :
113
- FFXC .set_value ('AxisLy' , - 1 )
114
- else :
115
- FFXC .set_value ('AxisLy' , 0 )
116
-
117
- if cam [2 ] < player [1 ]:
118
- if player [1 ] < target [1 ] - 2 :
119
- FFXC .set_value ('AxisLx' , - 1 )
120
- elif player [1 ] + target [1 ] + 2 :
121
- FFXC .set_value ('AxisLx' , 1 )
122
- else :
123
- FFXC .set_value ('AxisLx' , 0 )
124
- else :
125
- if player [1 ] < target [1 ] - 2 :
126
- FFXC .set_value ('AxisLx' , 1 )
127
- elif player [1 ] + target [1 ] + 2 :
128
- FFXC .set_value ('AxisLx' , - 1 )
129
- else :
130
- FFXC .set_value ('AxisLx' , 0 )
131
- elif cam [4 ] < - 0.88 :
132
- moveVersion = 3
133
- if player [1 ] > target [1 ] + 1.5 :
134
- FFXC .set_value ('AxisLy' , 1 )
135
- elif player [1 ] < target [1 ] - 1.5 :
136
- FFXC .set_value ('AxisLy' , - 1 )
137
- else :
138
- FFXC .set_value ('AxisLx' , 0 )
139
-
140
- if player [0 ] < target [0 ] - 1.5 :
141
- FFXC .set_value ('AxisLx' , - 1 )
142
- elif player [0 ] + target [0 ] + 1.5 :
143
- FFXC .set_value ('AxisLx' , 1 )
144
- else :
145
- FFXC .set_value ('AxisLx' , 0 )
146
- elif cam [4 ] > 0.9 :
147
- moveVersion = 4
148
- if player [1 ] > target [1 ] + 1.5 :
149
- FFXC .set_value ('AxisLy' , - 1 )
150
- elif player [1 ] < target [1 ] - 1.5 :
151
- FFXC .set_value ('AxisLy' , 1 )
152
- else :
153
- FFXC .set_value ('AxisLx' , 0 )
154
-
155
- if player [0 ] < target [0 ] - 1.5 :
156
- FFXC .set_value ('AxisLx' , 1 )
157
- elif player [0 ] + target [0 ] + 1.5 :
158
- FFXC .set_value ('AxisLx' , - 1 )
159
- else :
160
- FFXC .set_value ('AxisLx' , 0 )
161
- elif cam [0 ] > 0.01 and cam [4 ] > 0.01 :
162
- moveVersion = 5
163
- if player [1 ] - target [1 ] < player [0 ] - target [0 ]:
164
- FFXC .set_value ('AxisLy' , 1 )
165
- elif player [1 ] - target [1 ] > player [0 ] - target [0 ]:
166
- FFXC .set_value ('AxisLy' , - 1 )
167
- else :
168
- FFXC .set_value ('AxisLy' , 0 )
169
-
170
- if player [0 ] + target [0 ] < player [1 ] + target [1 ]:
171
- FFXC .set_value ('AxisLx' , - 1 )
172
- elif player [0 ] + target [0 ] + player [1 ] + target [1 ]:
173
- FFXC .set_value ('AxisLx' , 1 )
174
- else :
175
- FFXC .set_value ('AxisLx' , 0 )
176
- elif cam [0 ] < 0.01 and cam [4 ] < 0.01 :
177
- moveVersion = 6
178
- if player [1 ] - target [1 ] < player [0 ] - target [0 ]:
179
- FFXC .set_value ('AxisLy' , - 1 )
180
- elif player [1 ] - target [1 ] > player [0 ] - target [0 ]:
181
- FFXC .set_value ('AxisLy' , 1 )
182
- else :
183
- FFXC .set_value ('AxisLy' , 0 )
184
-
185
- if player [0 ] + target [0 ] < player [1 ] + target [1 ]:
186
- FFXC .set_value ('AxisLx' , 1 )
187
- elif player [0 ] + target [0 ] + player [1 ] + target [1 ]:
188
- FFXC .set_value ('AxisLx' , - 1 )
189
- else :
190
- FFXC .set_value ('AxisLx' , 0 )
191
- elif cam [0 ] > 0.01 and cam [4 ] < 0.01 :
192
- moveVersion = 7
193
- if player [1 ] - target [1 ] < player [0 ] - target [0 ]:
194
- FFXC .set_value ('AxisLx' , 1 )
195
- elif player [1 ] - target [1 ] > player [0 ] - target [0 ]:
196
- FFXC .set_value ('AxisLx' , - 1 )
197
- else :
198
- FFXC .set_value ('AxisLx' , 0 )
199
-
200
- if player [0 ] + target [0 ] < player [1 ] + target [1 ]:
201
- FFXC .set_value ('AxisLy' , - 1 )
202
- elif player [0 ] + target [0 ] + player [1 ] + target [1 ]:
203
- FFXC .set_value ('AxisLy' , 1 )
204
- else :
205
- FFXC .set_value ('AxisLy' , 0 )
206
- elif cam [0 ] < 0.01 and cam [4 ] > 0.01 :
207
- moveVersion = 8
208
- if player [1 ] - target [1 ] < player [0 ] - target [0 ]:
209
- FFXC .set_value ('AxisLx' , - 1 )
210
- elif player [1 ] - target [1 ] > player [0 ] - target [0 ]:
211
- FFXC .set_value ('AxisLx' , 1 )
212
- else :
213
- FFXC .set_value ('AxisLx' , 0 )
214
-
215
- if player [0 ] + target [0 ] < player [1 ] + target [1 ]:
216
- FFXC .set_value ('AxisLy' , 1 )
217
- elif player [0 ] + target [0 ] + player [1 ] + target [1 ]:
218
- FFXC .set_value ('AxisLy' , - 1 )
219
- else :
220
- FFXC .set_value ('AxisLy' , 0 )
221
- else :
222
- moveVersion = 0
223
- FFXC .set_value ('AxisLx' , 0 )
224
- FFXC .set_value ('AxisLy' , 0 )
225
- print ("In-between." )
226
-
101
+
102
+
103
+
227
104
#Now if we're close, we want to slow down a bit.
228
105
if activeEgg != 99 and eggArray [activeEgg ].distance < 15 and eggArray [activeEgg ].eggLife < 130 :
229
106
time .sleep (0.15 )
@@ -254,4 +131,4 @@ def engage():
254
131
FFX_Logs .writeStats ("Egg hunt battles:" )
255
132
FFX_Logs .writeStats (str (battleCount ))
256
133
except :
257
- print ("No log file." )
134
+ print ("No log file." )
0 commit comments