Skip to content

Commit ffede6d

Browse files
authored
Merge pull request #11 from Inverted/feature/egghunt-inverted
New egg movement
2 parents d312802 + 71ea22c commit ffede6d

File tree

1 file changed

+23
-146
lines changed

1 file changed

+23
-146
lines changed

zz_eggHuntAuto.py

Lines changed: 23 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ def engage():
3131
FFXC.set_value('BtnB',0)
3232
time.sleep(0.035)
3333
else:
34-
34+
3535
#Move to first egg, while in control.
3636
complete = 0
3737
activeEgg = 99
3838
target = [10,-10]
3939
moveVersion = 0
4040
while complete == 0:
41-
41+
4242
if activeEgg == 99:
4343
if lookingCount % 200 < 100:
4444
target = [20,-20]
@@ -77,153 +77,30 @@ def engage():
7777
#target = [-70,-70]
7878
player = FFX_memory.getCoords()
7979
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+
8097
#camCount += 1
8198
#print(camCount)
8299
#if camCount % 20 == 0:
83100
# 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+
227104
#Now if we're close, we want to slow down a bit.
228105
if activeEgg != 99 and eggArray[activeEgg].distance < 15 and eggArray[activeEgg].eggLife < 130:
229106
time.sleep(0.15)
@@ -254,4 +131,4 @@ def engage():
254131
FFX_Logs.writeStats("Egg hunt battles:")
255132
FFX_Logs.writeStats(str(battleCount))
256133
except:
257-
print("No log file.")
134+
print("No log file.")

0 commit comments

Comments
 (0)