refactoring

bug fix equip multi
This commit is contained in:
2022-10-22 12:05:45 +02:00
parent 4bfa9aa408
commit f1bde80746
4 changed files with 71 additions and 65 deletions

View File

@@ -21,16 +21,15 @@ HSV_DEFAULT = HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)
class Equipment(GameBase):
needles = []
hsvs = []
tresholds = []
masks = []
emitters = []
def __init__(self, overlay):
super().__init__(overlay)
self.needles = []
self.hsvs = []
self.tresholds = []
self.masks = []
self.emitters = []
# initialize the StunWindowCapture class
self.capture_window = WindowCapture(None, "equip", self.config)
@@ -38,49 +37,7 @@ class Equipment(GameBase):
self.SPAWN_COUNT = int(overlay.spawn_use.get())
self.ENERGY_TO_USE = int(overlay.energy_use.get())
if self.EMITTER_TO_USE == EMITTER_MULTI:
self.emitters.append(EMITTER_RING)
self.emitters.append(EMITTER_WAND)
self.emitters.append(EMITTER_SWORD)
self.emitters.append(EMITTER_AMU)
self.emitters.append(EMITTER_STAFF)
else:
self.emitters.append(self.EMITTER_TO_USE)
for emitter in self.emitters:
if emitter == EMITTER_MUSH:
self.include_books()
self.include_mushs()
self.include_pots()
self.include_bags()
elif emitter == EMITTER_AMU:
self.include_books()
self.include_amus()
self.include_bags()
elif emitter == EMITTER_MAIN:
self.include_books()
self.include_chests()
self.include_keys()
self.include_pots()
self.include_bags()
self.include_coins()
self.include_runes()
elif emitter == EMITTER_SWORD:
self.include_books()
self.include_swords()
self.include_bags()
elif emitter == EMITTER_STAFF:
self.include_books()
self.include_staffs()
self.include_bags()
elif emitter == EMITTER_RING:
self.include_books()
self.include_rings()
self.include_bags()
elif emitter == EMITTER_WAND:
self.include_books()
self.include_wands()
self.include_bags()
self.init_emitters_to_use()
self.c_needle = cv.imread("equip/chests/chest_4_32.jpg", cv.IMREAD_UNCHANGED)
self.c_mask = cv.imread("equip/chests/chest_4_32-mask.png", cv.IMREAD_COLOR)
@@ -90,14 +47,55 @@ class Equipment(GameBase):
self.energy_counter = 0
def init_emitters_to_use(self):
self.emitters.clear()
if self.EMITTER_TO_USE == EMITTER_MULTI:
self.emitters.append(EMITTER_RING)
self.emitters.append(EMITTER_WAND)
self.emitters.append(EMITTER_SWORD)
self.emitters.append(EMITTER_AMU)
self.emitters.append(EMITTER_STAFF)
else:
self.emitters.append(self.EMITTER_TO_USE)
def init_needles_for_emitter_to_use(self, emitter):
self.needles.clear()
self.hsvs.clear()
self.tresholds.clear()
self.masks.clear()
self.include_books()
self.include_bags()
if emitter == EMITTER_MUSH:
self.include_mushs()
self.include_pots()
elif emitter == EMITTER_AMU:
self.include_amus()
elif emitter == EMITTER_MAIN:
self.include_chests()
self.include_keys()
self.include_pots()
self.include_coins()
self.include_runes()
elif emitter == EMITTER_SWORD:
self.include_swords()
elif emitter == EMITTER_STAFF:
self.include_staffs()
elif emitter == EMITTER_RING:
self.include_rings()
elif emitter == EMITTER_WAND:
self.include_wands()
def execute_main_loop(self):
start_time = time()
breaks = self.init_breaks()
for emitter in self.emitters:
self.init_needles_for_emitter_to_use(emitter)
while True:
self.check_breaks(start_time, breaks)
if self.overlay.run_mode == 'paused':
cv.waitKey(1)
cv.waitKey(10)
continue
elif self.overlay.run_mode == 'stopped':
break
@@ -124,11 +122,8 @@ class Equipment(GameBase):
else:
spawn_0 = self.find_emitter(emitter, screenshot, 0)
points = self.vision_stun.get_click_points(spawn_0)
for point in points:
if len(points) >= 1:
self.click_point(points[0][0], points[0][1])
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
break
continue
cv.waitKey(500)