Compare commits

..
4 Commits
Author SHA1 Message Date
aeon0 22b468e771 New release v0.6.1 (#332)
* Bump version to v0.6.1

* adjust version
2021-12-25 08:51:40 +01:00
aeon0 aaae0ac41c Dont click on merc icon (#331) 2021-12-25 08:08:41 +01:00
mgleed b1e4f82c25 fix gold issue causing pickit_type error (#329) 2021-12-24 13:15:44 -05:00
aeon0 2f37b2b1da dev version 2021-12-24 15:46:17 +01:00
10 changed files with 57 additions and 20 deletions
+2 -5
View File
@@ -33,7 +33,7 @@ def clean_up():
os.remove("shopper.spec")
if __name__ == "__main__":
new_dev_version_code = None
new_version_code = None
if args.version != "":
print(f"Releasing new version: {args.version}")
os.system(f"git checkout -b new-release-v{args.version}")
@@ -43,7 +43,6 @@ if __name__ == "__main__":
version_code = f.read()
version_code = version_code.split("=")
new_version_code = f"{version_code[0]}= '{args.version}'"
new_dev_version_code = f"{version_code[0]}= '{args.version}-dev'"
with open('src/version.py', 'w') as f:
f.write(new_version_code)
else:
@@ -76,8 +75,6 @@ if __name__ == "__main__":
shutil.copytree("assets", f"{botty_dir}/assets")
clean_up()
if new_dev_version_code is not None:
with open('src/version.py', 'w') as f:
f.write(new_dev_version_code)
if new_version_code is not None:
os.system(f'git add .')
os.system(f'git commit -m "Bump version to v{args.version}"')
+10
View File
@@ -277,6 +277,16 @@ class Pather:
new_range_y_bottom = self._screen.convert_screen_to_abs((0, self._config.ui_roi["mana_globe"][1]))[1]
f = abs(new_range_y_bottom / float(abs_pos[1]))
abs_pos = (int(abs_pos[0] * f), int(abs_pos[1] * f))
# Check if clicking on merc img
screen_pos = self._screen.convert_abs_to_screen(abs_pos)
if is_in_roi(self._config.ui_roi["merc_icon"], screen_pos):
width = self._config.ui_roi["merc_icon"][2]
height = self._config.ui_roi["merc_icon"][3]
w_abs, h_abs = self._screen.convert_screen_to_abs((width, height))
fw = abs(w_abs / float(abs_pos[0]))
fh = abs(h_abs / float(abs_pos[1]))
f = max(fw, fh)
abs_pos = (int(abs_pos[0] * f), int(abs_pos[1] * f))
return abs_pos
def find_abs_node_pos(self, node_idx: int, img: np.ndarray) -> Tuple[float, float]:
+2 -2
View File
@@ -25,7 +25,7 @@ class A3(IAct):
def can_stash(self) -> bool: return True
def heal(self, curr_loc: Location) -> Union[Location, bool]:
if not self._pather.traverse_nodes((curr_loc, Location.A3_ORMUS), self._char): return False
if not self._pather.traverse_nodes((curr_loc, Location.A3_ORMUS), self._char, force_move=True): return False
self._npc_manager.open_npc_menu(Npc.ORMUS)
return Location.A3_ORMUS
@@ -36,7 +36,7 @@ class A3(IAct):
return Location.A3_ORMUS
def open_stash(self, curr_loc: Location) -> Union[Location, bool]:
if not self._pather.traverse_nodes((curr_loc, Location.A3_STASH_WP), self._char):
if not self._pather.traverse_nodes((curr_loc, Location.A3_STASH_WP), self._char, force_move=True):
return False
wait(0.3)
def stash_is_open_func():
+2 -2
View File
@@ -379,9 +379,9 @@ class UiManager():
if self._config.general["info_screenshots"]:
cv2.imwrite("./info_screenshots/info_gold_stash_full_" + time.strftime("%Y%m%d_%H%M%S") + ".png", self._screen.grab())
if self._curr_stash["gold"] > 3:
# turn of gold pickup
# turn off gold pickup
self._config.char["stash_gold"] = False
self._config.items["misc_gold"] = False
self._config.items["misc_gold"].pickit_type = 0
item_finder.update_items_to_pick(self._config)
# inform user about it
msg = "All stash tabs and character are full of gold, turn of gold pickup"
+1 -1
View File
@@ -183,7 +183,7 @@ class HumanCurve():
return res
class mouse:
# TODO: Not sure nice, this will execute every single time someone imports custom_mouse...
# TODO: Not nice, this will execute every single time someone imports custom_mouse...
_config = Config()
@staticmethod
+1 -1
View File
@@ -1 +1 @@
__version__ = '0.6.0'
__version__ = '0.6.1'
View File
+7
View File
@@ -0,0 +1,7 @@
import cv2
from screen import Screen
class ScreenMock(Screen):
def grab(self):
img = cv2.imread("test/hero_select.png")
return img
+31
View File
@@ -0,0 +1,31 @@
import pytest
from mocks.screen_mock import ScreenMock
from logger import Logger
from pather import Pather
from template_finder import TemplateFinder
class TestPather:
def setup_method(self):
Logger.init()
Logger.remove_file_logger()
screen = ScreenMock()
template_finder = TemplateFinder(screen)
self.pather = Pather(screen, template_finder)
@pytest.mark.parametrize("test_input, expected", [
((90, 90), True),
((25, 70), True),
((150, 120), False),
((500, 400), False),
((400, 1300), True),
])
def test_adjust_abs_range_to_screen(self, test_input, expected):
should_be_adapted = expected
pos_abs = self.pather._screen.convert_screen_to_abs(test_input)
new_pos_abs = self.pather._adjust_abs_range_to_screen(pos_abs)
is_adapted = new_pos_abs != pos_abs
assert(should_be_adapted == is_adapted)
new_pos_abs_2 = self.pather._adjust_abs_range_to_screen(new_pos_abs)
assert(new_pos_abs == new_pos_abs_2)
+1 -9
View File
@@ -1,16 +1,8 @@
import cv2
from version import __version__
from screen import Screen
from logger import Logger
from game_stats import GameStats
from bot import Bot
class ScreenMock(Screen):
def grab(self):
img = cv2.imread("test/hero_select.png")
return img
from mocks.screen_mock import ScreenMock
class TestSmoke: