Skip to content

Commit

Permalink
fix(single-mode): recognize friend type partner
Browse files Browse the repository at this point in the history
  • Loading branch information
NateScarlet committed Aug 21, 2021
1 parent aa0d59b commit 8514182
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 3 deletions.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 5 additions & 2 deletions auto_derby/single_mode/training/partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ def _recognize_type_color(rp: mathtools.ResizeProxy, icon_img: Image) -> int:
((255, 151, 27), Partner.TYPE_POWER),
((255, 96, 156), Partner.TYPE_GUTS),
((3, 191, 126), Partner.TYPE_WISDOM),
((255, 179, 22), Partner.TYPE_FRIEND),
)
for color, v in type_colors:
if imagetools.compare_color(icon_img.getpixel(type_pos), color) > 0.8:
if imagetools.compare_color(icon_img.getpixel(type_pos), color) > 0.9:
return v
return Partner.TYPE_OTHER

Expand Down Expand Up @@ -123,7 +124,8 @@ class Partner:
TYPE_POWER: int = 3
TYPE_GUTS: int = 4
TYPE_WISDOM: int = 5
TYPE_OTHER: int = 6
TYPE_FRIEND: int = 6
TYPE_OTHER: int = 7

def __init__(self):
self.level = 0
Expand Down Expand Up @@ -163,6 +165,7 @@ def type_text(v: int) -> Text:
Partner.TYPE_POWER: "pow",
Partner.TYPE_GUTS: "gut",
Partner.TYPE_WISDOM: "wis",
Partner.TYPE_FRIEND: "frd",
Partner.TYPE_OTHER: "oth",
}.get(v, f"unknown({v})")

Expand Down
24 changes: 23 additions & 1 deletion auto_derby/single_mode/training/training_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,28 @@ def test_update_by_training_scene_8():
assert partner3.has_hint == False


def test_update_by_training_scene_9():
with _test.screenshot("training_scene_9.png") as img:
training = Training.from_training_scene(img)
assert training.type == training.TYPE_SPEED
assert training.level == 2
assert training.speed == 19
assert training.stamina == 0
assert training.power == 10
assert training.guts == 0
assert training.wisdom == 0
assert training.skill == 3

assert len(training.partners) == 2, len(training.partners)
partner1, partner2 = training.partners
assert partner1.type == Partner.TYPE_FRIEND
assert partner1.level == 4
assert partner1.has_hint == False
assert partner2.type == Partner.TYPE_WISDOM
assert partner2.level == 5
assert partner2.has_hint == False


def test_update_by_training_scene_issue9():
img = (
PIL.Image.open(_TEST_DATA_PATH / "training_scene_issue9.png")
Expand Down Expand Up @@ -323,7 +345,7 @@ def test_update_by_training_scene_issue156():

assert len(training.partners) == 3, len(training.partners)
partner1, partner2, partner3 = training.partners
assert partner1.type == Partner.TYPE_POWER
assert partner1.type == Partner.TYPE_FRIEND
assert partner1.level == 2
assert partner1.has_hint == False
assert partner2.type == Partner.TYPE_SPEED
Expand Down

0 comments on commit 8514182

Please sign in to comment.