Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22b468e771 | ||
|
|
aaae0ac41c | ||
|
|
b1e4f82c25 | ||
|
|
2f37b2b1da |
@@ -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}"')
|
||||
|
||||
@@ -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
@@ -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():
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -1 +1 @@
|
||||
__version__ = '0.6.0'
|
||||
__version__ = '0.6.1'
|
||||
@@ -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
|
||||
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user