From 0ae977428e70d33fc11c8dc25356cec1f717d12d Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:32:54 -0700 Subject: [PATCH 1/7] update pvp lvl asset --- .../combat.sikuli/pvp_lvl.png | Bin 1298 -> 15179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kancolle_auto.sikuli/combat.sikuli/pvp_lvl.png b/kancolle_auto.sikuli/combat.sikuli/pvp_lvl.png index 70e05b137b6b8e37b7f63569dd17710252ce89fd..2e1299ae11acdf0bac9f0465f555916190e191cc 100644 GIT binary patch literal 15179 zcmeI3dyErB9LJZ(#q-P&P+l4}r9gy)c6a-@c9*tr*Y>y*dLF$a92z2f+v(jxyIXd* z*WM|~g+~N6dcmN)l$?kJavtC#Au1suf&Yk)sEL{&(LWSL)F?(G2hR36?X}FA@aHsX z`|Hg2_nn>3{ARlU?5_5<74>xw)ln2x-`Wxg!|xgJU0XXDehz)L?H2sHH_@_Aqp15H zFy51>{Rih#6!*H+*`;@dR`H?|w+a!Z8(7ov1XNR$XIVNSh?{_J>IOZM>^1-P(OI)e zig?XyogpTa@Pl5dWk3ZT18tq+z$TH4n3wtLJZT;p#DOlD((#zA@oBF)DBFq8kVZI`A2p7RGL2ZJn%*XI;GA zZDCwI!yqPEWtm4viAd4@QV&Nb>*nnap0%SMh_c)RZp4V73lnldwWU6x5Z@|mx*&_7 zHQd{xXdI=)5lo{6ftQOQqDR8 zt=&OqL!-mhz_^@lmJPb#Z&xGN)Wonszta(D%-bTV<86T|^?^vUs>CyUJRztWFt(1@ zoZmZzLm^iPna#&b_fJ1EzAJeQ&=8&r164i9NRuk zfQ##)Gsj%Mt$0z{3}c|Ipu(C?tbE6%S05wQ3*_Q?()=P<{DYjeYV_aWz9&I@mH0F(E)GIfUm*nv^za?d2@M2 zyOaj8u7Cs&RL$5XtSgsO-cd1eT`|#(<{|C5ylf>P_feTb$+p6~G;xm^(h7Ve%;1iVxhrj(CK8iqWHZOHAmU~^!a9rnzX1j(Ab&&X4R0lt!ef2=CjJREuNu6Q=jz5cGS#$ruGOs z{A$hVn(iypVk09X>jzIcAAkSUXEi(L4bPZ4{dDTW_l@U{z5P#{YJ2$1vT3u99{#d* z)jeB+X=gpWm>*lu%^VyuPaa$_xL z@80WJwf(Jqpkv0oeUF&KE1z9Tf3k9H8moPHWa{9C7mmM^N*_4URNJ%gp3Cy=L$in1 zC%z6-iC3n|H(u;p`kXfU#_8s^M{nsTzxeyosDHBQJolJ+*@a&oJaFvKOH+Q@b92Q> z;nRV4H{ZM%@pdg9{5N>;#l!p0jQqZmqo1msH1xyAOaB`Fpnl5bm&4Mmy<>Bh@BAZq s(RS5zefezb*v8R)yxnf!eR~SEYxVZS*Q66$jmKSEgKdG)rVU&F1F~(CC;$Ke delta 755 zcmX?IHi>J3xG^sW69WUo0cjy$ASGGi8c`CQpH@Mv>2}t4O2P_&IN_Gl15Hnm-i!#enQ{0O3 za}|n9f>P70GLcN3T)?UUGzB7&f^5nuR*iZkeV{S=Xug371-ZC^m=#t)dva4t5`i51 zih{)C?9>v4)Vvg1r6MJJyEl{9eP&=_Z1Qw*45_%~6S&*&u!F#!+t%ugN#35_mxT8< z%;Sh!a>eCJ4U>>+y@N9=uc>^4l2)9chyu&cdIpCD9Gw!MzS!Q_y|s6_#oM*%WzUcO zdHl4?Fm3J9$<-443=7!AuDCOOd+NDnm#}cOa8XCY+p8(c3|AhTr!aUtYi!!{VE*6N z%U9m|c_~^{gyoBG^$*@j(;j%b3FP^(m?-5wRqG6oahh=GC66x(2@h0m5u z-zoK0d#Oi#^Yeh&e`oBSt@3D(@F|WTiEAcYTgmnE%C!fqM#d)V^^Q26-NL>r@|m`I}yg3m;Nj|^U{{pemwv0_4smC$eh3Us!VkLsdH|>(iTN= zH_f=`lhyf=XZ@{teKQ3X33jA$?h0=9j_P*xmEw4&e&JI8Q}<-$eNkc(i|e<%(f+-R z=hfvk{q3Il?~E+wzj)}7TvcBD?R27fiQ%IQTe~7AX4x7)TNZB<)0UtazejuRdto`F q-ICKza6GD9R;c^8Fy$Yo0fXW88#D7mjP?UlHG`+CpUXO@geCx4Z!o?9 From fa30fef6debbfa5690b7e49af19dbab282eb4840 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:43:16 -0700 Subject: [PATCH 2/7] avoid divide by 0 --- kancolle_auto.sikuli/combat.sikuli/combat.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kancolle_auto.sikuli/combat.sikuli/combat.py b/kancolle_auto.sikuli/combat.sikuli/combat.py index d90950b..499d3e3 100644 --- a/kancolle_auto.sikuli/combat.sikuli/combat.py +++ b/kancolle_auto.sikuli/combat.sikuli/combat.py @@ -714,6 +714,7 @@ def go_pvp(self): # An opponent was chosen rejigger_mouse(self.kc_region, 50, 750, 50, 350) self.kc_region.wait('pvp_start_1.png', 30) + sleep(1) # Identify opponent ship and sub counts enemy_ship_count_matches = self.kc_region.findAll(Pattern('pvp_lvl.png').similar(0.95)) @@ -758,6 +759,9 @@ def go_pvp(self): def formation_nb_selector(self, enemy_ship_count, enemy_sub_count): formation = 'formation_line_ahead' nb = True + if enemy_ship_count == 0: + # Return defaults if enemy ship count detection fails; avoid divide by 0 + return (formation, nb) sub_ratio = float(enemy_sub_count) / float(enemy_ship_count) if sub_ratio > 0.5: formation = 'formation_line_abreast' From e60e07a57c3fb69aa7c7626ce7a4cc1c9ecd20d7 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:52:32 -0700 Subject: [PATCH 3/7] use class_similarity constant for class icons --- kancolle_auto.sikuli/combat.sikuli/combat.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kancolle_auto.sikuli/combat.sikuli/combat.py b/kancolle_auto.sikuli/combat.sikuli/combat.py index 499d3e3..29df0fc 100644 --- a/kancolle_auto.sikuli/combat.sikuli/combat.py +++ b/kancolle_auto.sikuli/combat.sikuli/combat.py @@ -720,10 +720,10 @@ def go_pvp(self): enemy_ship_count_matches = self.kc_region.findAll(Pattern('pvp_lvl.png').similar(0.95)) for i in (enemy_ship_count_matches if enemy_ship_count_matches is not None else []): enemy_ship_count += 1 - enemy_sub_count_matches = self.kc_region.findAll(Pattern('ship_class_ss.png')) + enemy_sub_count_matches = self.kc_region.findAll(Pattern('ship_class_ss.png').similar(CLASS_SIMILARITY)) for i in (enemy_sub_count_matches if enemy_sub_count_matches is not None else []): enemy_sub_count += 1 - enemy_sub_count_matches = self.kc_region.findAll(Pattern('ship_class_ssv.png')) + enemy_sub_count_matches = self.kc_region.findAll(Pattern('ship_class_ssv.png').similar(CLASS_SIMILARITY)) for i in (enemy_sub_count_matches if enemy_sub_count_matches is not None else []): enemy_sub_count += 1 formation, nb = self.formation_nb_selector(enemy_ship_count, enemy_sub_count) From f76f1123de245274380839b2820c2807c8c35753 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:53:00 -0700 Subject: [PATCH 4/7] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9179635..f4d8ad4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +#### 2017-03-13 ([Release 8.3](https://github.com/mrmin123/kancolle-auto/releases/tag/8.3)) +* Bugfixes to PvP module + #### 2017-03-13 ([Release 8.2](https://github.com/mrmin123/kancolle-auto/releases/tag/8.2)) * Bugfixes to submarine switch module From a3030b05ace2a138b7cb5f0c5a84bb048ef3fef4 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:56:31 -0700 Subject: [PATCH 5/7] tweak sub ratio cutoff for nb --- kancolle_auto.sikuli/combat.sikuli/combat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kancolle_auto.sikuli/combat.sikuli/combat.py b/kancolle_auto.sikuli/combat.sikuli/combat.py index 29df0fc..328a055 100644 --- a/kancolle_auto.sikuli/combat.sikuli/combat.py +++ b/kancolle_auto.sikuli/combat.sikuli/combat.py @@ -767,7 +767,7 @@ def formation_nb_selector(self, enemy_ship_count, enemy_sub_count): formation = 'formation_line_abreast' elif sub_ratio == 0.5: formation = 'formation_diamond' - if sub_ratio == 1: + if sub_ratio >= 1: nb = False # Skip night battle if the entire enemy fleet are subs return (formation, nb) From b700a9be2a2336604b146823af2da233294d6e01 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:57:16 -0700 Subject: [PATCH 6/7] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4d8ad4..a5a6041 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -#### 2017-03-13 ([Release 8.3](https://github.com/mrmin123/kancolle-auto/releases/tag/8.3)) +#### 2017-03-15 ([Release 8.3](https://github.com/mrmin123/kancolle-auto/releases/tag/8.3)) * Bugfixes to PvP module #### 2017-03-13 ([Release 8.2](https://github.com/mrmin123/kancolle-auto/releases/tag/8.2)) From 8dd3eac9d3bc2367f735b47a84079ff70872b298 Mon Sep 17 00:00:00 2001 From: mrmin123 Date: Wed, 15 Mar 2017 01:58:03 -0700 Subject: [PATCH 7/7] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03f3c26..7a34ccc 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Please read the [**kancolle-auto wiki**](https://github.com/mrmin123/kancolle-au ### Features * Expedition module — automate expeditions -* PvP module — automate PvP +* PvP module — automate PvP, including diamond and line abreast formations versus submarine-heavy fleets * Combat module — automate sorties, node selections, repairs, and submarine switching * Supports sorties to Event maps, Combined Fleets, LBAS, and pre-boss/boss support expeditions * Quests module — automate quests