new ui elements for timing
This commit is contained in:
170
magic.py
170
magic.py
@@ -38,93 +38,96 @@ class Magic(GameBase):
|
||||
cv.IMREAD_UNCHANGED))
|
||||
self.hsv_list.append(self.hsv_filter_list[key1])
|
||||
|
||||
def execute_main_loop(self):
|
||||
def assess_playfield_and_make_move(self):
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
# screenshot = cv.imread("buffbar.jpg")
|
||||
|
||||
while True:
|
||||
if self.overlay.run_mode == 'paused':
|
||||
cv.waitKey(1)
|
||||
continue
|
||||
elif self.overlay.run_mode == 'stopped':
|
||||
break
|
||||
# cv.imshow("screenshot", screenshot)
|
||||
# cv.waitKey(150)
|
||||
# continue
|
||||
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
# screenshot = cv.imread("buffbar.jpg")
|
||||
spawn_1 = self.vision_stun.find(screenshot, cv.imread("magic/spawn_1.jpg", cv.IMREAD_UNCHANGED), 0.25, 1) #TODO fix emitter threshold
|
||||
if len(spawn_1) == 1:
|
||||
points = self.vision_stun.get_click_points(spawn_1)
|
||||
for i in range(0, self.SPAWN_COUNT, 1):
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
pydirectinput.mouseDown()
|
||||
w = random.randint(1, 50)
|
||||
cv.waitKey(30 + w)
|
||||
pydirectinput.mouseUp()
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
else:
|
||||
spawn_0 = self.vision_stun.find(screenshot, cv.imread("magic/spawn_0.jpg", cv.IMREAD_UNCHANGED), 0.7, 1)
|
||||
points = self.vision_stun.get_click_points(spawn_0)
|
||||
for point in points:
|
||||
pydirectinput.moveTo(point[0], point[1])
|
||||
pydirectinput.mouseDown()
|
||||
cv.waitKey(500)
|
||||
pydirectinput.mouseUp()
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
continue
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
# for needles in needle_list:
|
||||
for rer in range(0, len(self.needle_list), 1):
|
||||
while True:
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
processed_screenshot = self.vision_stun.apply_hsv_filter(screenshot, self.hsv_list[rer])
|
||||
processed_needle = self.vision_stun.apply_hsv_filter(self.needle_list[rer], self.hsv_list[rer])
|
||||
|
||||
# cv.imshow("screenshot", screenshot)
|
||||
# cv.waitKey(150)
|
||||
# continue
|
||||
rectangles = self.vision_stun.find(processed_screenshot, processed_needle, 0.7, 2)
|
||||
# draw the detection results onto the original image
|
||||
|
||||
spawn_1 = self.vision_stun.find(screenshot, cv.imread("magic/spawn_1.jpg", cv.IMREAD_UNCHANGED), 0.25, 1) #TODO fix emitter threshold
|
||||
if len(spawn_1) == 1:
|
||||
points = self.vision_stun.get_click_points(spawn_1)
|
||||
for i in range(0, self.SPAWN_COUNT, 1):
|
||||
# only trigger ocr reading if a stun is detected
|
||||
points = self.vision_stun.get_click_points(rectangles)
|
||||
if len(points) == 2:
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
pydirectinput.mouseDown()
|
||||
w = random.randint(1, 50)
|
||||
cv.waitKey(30 + w)
|
||||
w = random.randint(1, 100)
|
||||
cv.waitKey(250 + w)
|
||||
pydirectinput.moveTo(points[1][0], points[1][1])
|
||||
pydirectinput.mouseUp()
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
else:
|
||||
spawn_0 = self.vision_stun.find(screenshot, cv.imread("magic/spawn_0.jpg", cv.IMREAD_UNCHANGED), 0.7, 1)
|
||||
points = self.vision_stun.get_click_points(spawn_0)
|
||||
for point in points:
|
||||
pydirectinput.moveTo(point[0], point[1])
|
||||
pydirectinput.mouseDown()
|
||||
cv.waitKey(500)
|
||||
pydirectinput.mouseUp()
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
continue
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
# for needles in needle_list:
|
||||
for rer in range(0, len(self.needle_list), 1):
|
||||
while True:
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
processed_screenshot = self.vision_stun.apply_hsv_filter(screenshot, self.hsv_list[rer])
|
||||
processed_needle = self.vision_stun.apply_hsv_filter(self.needle_list[rer], self.hsv_list[rer])
|
||||
|
||||
rectangles = self.vision_stun.find(processed_screenshot, processed_needle, 0.7, 2)
|
||||
# draw the detection results onto the original image
|
||||
|
||||
# only trigger ocr reading if a stun is detected
|
||||
points = self.vision_stun.get_click_points(rectangles)
|
||||
if len(points) == 2:
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
pydirectinput.mouseDown()
|
||||
w = random.randint(1, 100)
|
||||
cv.waitKey(250 + w)
|
||||
pydirectinput.moveTo(points[1][0], points[1][1])
|
||||
pydirectinput.mouseUp()
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
else:
|
||||
break
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
else:
|
||||
break
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
|
||||
needles_white = [cv.imread("magic/body_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/finding_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/mind_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/perceiving_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/physical_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/seeing_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/spiritual_w.jpg", cv.IMREAD_UNCHANGED)]
|
||||
needles_white = [cv.imread("magic/body_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/finding_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/mind_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/perceiving_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/physical_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/seeing_w.jpg", cv.IMREAD_UNCHANGED),
|
||||
cv.imread("magic/spiritual_w.jpg", cv.IMREAD_UNCHANGED)]
|
||||
|
||||
for needle_w in needles_white:
|
||||
# do object detection
|
||||
for needle_w in needles_white:
|
||||
# do object detection
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
processed_screenshot = self.vision_stun.apply_hsv_filter(screenshot, self.hsv_filter_w)
|
||||
processed_needle = self.vision_stun.apply_hsv_filter(needle_w, self.hsv_filter_w)
|
||||
rectangles = self.vision_stun.find(processed_screenshot, processed_needle, 0.7, 1)
|
||||
# draw the detection results onto the original image
|
||||
# output_image = vision_stun.draw_rectangles(screenshot, rectangles)
|
||||
# cv.imshow("output_image", output_image)
|
||||
# cv.waitKey(150)
|
||||
|
||||
points = self.vision_stun.get_click_points(rectangles)
|
||||
if len(points) >= 1:
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
pydirectinput.mouseDown()
|
||||
w = random.randint(1, 100)
|
||||
cv.waitKey(100 + w)
|
||||
pydirectinput.mouseUp()
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
processed_screenshot = self.vision_stun.apply_hsv_filter(screenshot, self.hsv_filter_w)
|
||||
processed_needle = self.vision_stun.apply_hsv_filter(needle_w, self.hsv_filter_w)
|
||||
rectangles = self.vision_stun.find(processed_screenshot, processed_needle, 0.7, 1)
|
||||
# draw the detection results onto the original image
|
||||
# output_image = vision_stun.draw_rectangles(screenshot, rectangles)
|
||||
# cv.imshow("output_image", output_image)
|
||||
# cv.waitKey(150)
|
||||
|
||||
rectangles = self.vision_stun.find(screenshot, cv.imread("magic/collect.jpg", cv.IMREAD_UNCHANGED),
|
||||
0.8,
|
||||
1)
|
||||
points = self.vision_stun.get_click_points(rectangles)
|
||||
if len(points) >= 1:
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
@@ -132,19 +135,8 @@ class Magic(GameBase):
|
||||
w = random.randint(1, 100)
|
||||
cv.waitKey(100 + w)
|
||||
pydirectinput.mouseUp()
|
||||
screenshot = self.capture_window.get_screenshot()
|
||||
rectangles = self.vision_stun.find(screenshot, cv.imread("magic/collect.jpg", cv.IMREAD_UNCHANGED),
|
||||
0.8,
|
||||
1)
|
||||
points = self.vision_stun.get_click_points(rectangles)
|
||||
if len(points) >= 1:
|
||||
pydirectinput.moveTo(points[0][0], points[0][1])
|
||||
pydirectinput.mouseDown()
|
||||
w = random.randint(1, 100)
|
||||
cv.waitKey(100 + w)
|
||||
pydirectinput.mouseUp()
|
||||
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
break
|
||||
return
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
return
|
||||
Reference in New Issue
Block a user