Merge branch 'master' of https://github.com/whoamikyo/AzurLaneAutoScript
BIN
assets/cn/combat/BATTLE_STATUS_C.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 8.0 KiB |
BIN
assets/cn/combat/BATTLE_STATUS_D.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 9.2 KiB |
BIN
assets/cn/combat/EXP_INFO_C.BUTTON.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
assets/cn/combat/EXP_INFO_C.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 8.9 KiB |
BIN
assets/en/combat/BATTLE_STATUS_C.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 8.0 KiB |
BIN
assets/en/combat/BATTLE_STATUS_D.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.2 KiB |
BIN
assets/en/combat/EXP_INFO_C.BUTTON.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
assets/en/combat/EXP_INFO_C.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
assets/jp/combat/BATTLE_STATUS_C.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 8.0 KiB |
BIN
assets/jp/combat/BATTLE_STATUS_D.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 9.2 KiB |
BIN
assets/jp/combat/EXP_INFO_C.BUTTON.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
assets/jp/combat/EXP_INFO_C.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
assets/jp/combat/EXP_INFO_D.BUTTON.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
@ -24,9 +24,11 @@ MAP.spawn_data = [
|
|||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
|
|
||||||
class Config:
|
|
||||||
|
class Config(ConfigBase):
|
||||||
POOR_MAP_DATA = False
|
POOR_MAP_DATA = False
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
|
@ -26,13 +26,13 @@ MAP.wall_data = """
|
|||||||
· · | · · · | · · · · | · · · | · · ,
|
· · | · · · | · · · · | · · · | · · ,
|
||||||
| | | | ,
|
| | | | ,
|
||||||
· · | · · · | · · · · | · · · | · · ,
|
· · | · · · | · · · · | · · · | · · ,
|
||||||
+---+ +---+ +----+ +---+ ,
|
+---+ +---+ +----+ +---+ ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
@ -50,11 +50,14 @@ MAP.spawn_data = [
|
|||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_COUNT = 2
|
MAP_SIREN_COUNT = 2
|
||||||
MAP_HAS_WALL = True
|
MAP_HAS_WALL = True
|
||||||
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
|
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
|
||||||
|
|
||||||
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
@ -37,13 +37,13 @@ MAP.wall_data = """
|
|||||||
· · | · · · | · · · · | · · · | · · ,
|
· · | · · · | · · · · | · · · | · · ,
|
||||||
| | | | ,
|
| | | | ,
|
||||||
· · | · · · | · · · · | · · · | · · ,
|
· · | · · · | · · · · | · · · | · · ,
|
||||||
+---+ +---+ +----+ +---+ ,
|
+---+ +---+ +----+ +---+ ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
| | ,
|
| | ,
|
||||||
· · · | · · · · · · · · | · · · ,
|
· · · | · · · · · · · · | · · · ,
|
||||||
@ -68,6 +68,8 @@ class Config(ConfigBase):
|
|||||||
MAP_SIREN_COUNT = 3
|
MAP_SIREN_COUNT = 3
|
||||||
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
|
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
|
||||||
|
|
||||||
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
BIN
doc/development.assets/relative_crop.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
doc/development_en.assets/relative_crop.png
Normal file
After Width: | Height: | Size: 91 KiB |
@ -13,8 +13,8 @@ BATTLE_PREPARATION = Button(area={'cn': (1043, 607, 1241, 667), 'en': (1045, 607
|
|||||||
BATTLE_PREPARATION_WITH_OVERLAY = Button(area={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652)}, color={'cn': (96, 74, 39), 'en': (96, 74, 39), 'jp': (96, 74, 39)}, button={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652)}, file={'cn': './assets/cn/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'en': './assets/en/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'jp': './assets/jp/combat/BATTLE_PREPARATION_WITH_OVERLAY.png'})
|
BATTLE_PREPARATION_WITH_OVERLAY = Button(area={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652)}, color={'cn': (96, 74, 39), 'en': (96, 74, 39), 'jp': (96, 74, 39)}, button={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652)}, file={'cn': './assets/cn/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'en': './assets/en/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'jp': './assets/jp/combat/BATTLE_PREPARATION_WITH_OVERLAY.png'})
|
||||||
BATTLE_STATUS_A = Button(area={'cn': (622, 266, 732, 288), 'en': (622, 266, 732, 288), 'jp': (624, 265, 732, 289)}, color={'cn': (235, 227, 111), 'en': (235, 227, 111), 'jp': (235, 227, 114)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_A.png', 'en': './assets/en/combat/BATTLE_STATUS_A.png', 'jp': './assets/jp/combat/BATTLE_STATUS_A.png'})
|
BATTLE_STATUS_A = Button(area={'cn': (622, 266, 732, 288), 'en': (622, 266, 732, 288), 'jp': (624, 265, 732, 289)}, color={'cn': (235, 227, 111), 'en': (235, 227, 111), 'jp': (235, 227, 114)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_A.png', 'en': './assets/en/combat/BATTLE_STATUS_A.png', 'jp': './assets/jp/combat/BATTLE_STATUS_A.png'})
|
||||||
BATTLE_STATUS_B = Button(area={'cn': (663, 297, 709, 320), 'en': (663, 297, 709, 320), 'jp': (663, 297, 709, 320)}, color={'cn': (193, 237, 255), 'en': (193, 237, 255), 'jp': (193, 237, 255)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (663, 297, 709, 320)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_B.png', 'en': './assets/en/combat/BATTLE_STATUS_B.png', 'jp': './assets/jp/combat/BATTLE_STATUS_B.png'})
|
BATTLE_STATUS_B = Button(area={'cn': (663, 297, 709, 320), 'en': (663, 297, 709, 320), 'jp': (663, 297, 709, 320)}, color={'cn': (193, 237, 255), 'en': (193, 237, 255), 'jp': (193, 237, 255)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (663, 297, 709, 320)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_B.png', 'en': './assets/en/combat/BATTLE_STATUS_B.png', 'jp': './assets/jp/combat/BATTLE_STATUS_B.png'})
|
||||||
BATTLE_STATUS_C = Button(area={'cn': (431, 257, 514, 329), 'en': (431, 257, 514, 329), 'jp': (431, 257, 514, 329)}, color={'cn': (169, 161, 164), 'en': (169, 161, 164), 'jp': (169, 161, 164)}, button={'cn': (431, 257, 514, 329), 'en': (431, 257, 514, 329), 'jp': (431, 257, 514, 329)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_C.png', 'en': './assets/en/combat/BATTLE_STATUS_C.png', 'jp': './assets/jp/combat/BATTLE_STATUS_C.png'})
|
BATTLE_STATUS_C = Button(area={'cn': (613, 203, 638, 295), 'en': (613, 203, 638, 295), 'jp': (613, 203, 638, 295)}, color={'cn': (198, 205, 198), 'en': (198, 205, 198), 'jp': (198, 205, 198)}, button={'cn': (1000, 631, 1055, 689), 'en': (1000, 631, 1055, 689), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_C.png', 'en': './assets/en/combat/BATTLE_STATUS_C.png', 'jp': './assets/jp/combat/BATTLE_STATUS_C.png'})
|
||||||
BATTLE_STATUS_D = Button(area={'cn': (431, 257, 514, 329), 'en': (603, 178, 631, 321), 'jp': (431, 257, 514, 329)}, color={'cn': (169, 161, 164), 'en': (201, 207, 201), 'jp': (169, 161, 164)}, button={'cn': (431, 257, 514, 329), 'en': (603, 178, 631, 321), 'jp': (431, 257, 514, 329)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_D.png', 'en': './assets/en/combat/BATTLE_STATUS_D.png', 'jp': './assets/jp/combat/BATTLE_STATUS_D.png'})
|
BATTLE_STATUS_D = Button(area={'cn': (605, 180, 630, 320), 'en': (605, 180, 630, 320), 'jp': (605, 180, 630, 320)}, color={'cn': (199, 206, 199), 'en': (199, 206, 199), 'jp': (199, 206, 199)}, button={'cn': (1000, 631, 1055, 689), 'en': (1000, 631, 1055, 689), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_D.png', 'en': './assets/en/combat/BATTLE_STATUS_D.png', 'jp': './assets/jp/combat/BATTLE_STATUS_D.png'})
|
||||||
BATTLE_STATUS_S = Button(area={'cn': (633, 297, 722, 320), 'en': (629, 297, 722, 318), 'jp': (638, 235, 722, 261)}, color={'cn': (233, 241, 127), 'en': (233, 241, 127), 'jp': (231, 204, 109)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_S.png', 'en': './assets/en/combat/BATTLE_STATUS_S.png', 'jp': './assets/jp/combat/BATTLE_STATUS_S.png'})
|
BATTLE_STATUS_S = Button(area={'cn': (633, 297, 722, 320), 'en': (629, 297, 722, 318), 'jp': (638, 235, 722, 261)}, color={'cn': (233, 241, 127), 'en': (233, 241, 127), 'jp': (231, 204, 109)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_S.png', 'en': './assets/en/combat/BATTLE_STATUS_S.png', 'jp': './assets/jp/combat/BATTLE_STATUS_S.png'})
|
||||||
COMBAT_AUTO = Button(area={'cn': (136, 573, 167, 604), 'en': (136, 573, 167, 604), 'jp': (136, 573, 167, 604)}, color={'cn': (229, 242, 255), 'en': (229, 242, 255), 'jp': (229, 242, 255)}, button={'cn': (136, 573, 167, 604), 'en': (136, 573, 167, 604), 'jp': (136, 573, 167, 604)}, file={'cn': './assets/cn/combat/COMBAT_AUTO.png', 'en': './assets/en/combat/COMBAT_AUTO.png', 'jp': './assets/jp/combat/COMBAT_AUTO.png'})
|
COMBAT_AUTO = Button(area={'cn': (136, 573, 167, 604), 'en': (136, 573, 167, 604), 'jp': (136, 573, 167, 604)}, color={'cn': (229, 242, 255), 'en': (229, 242, 255), 'jp': (229, 242, 255)}, button={'cn': (136, 573, 167, 604), 'en': (136, 573, 167, 604), 'jp': (136, 573, 167, 604)}, file={'cn': './assets/cn/combat/COMBAT_AUTO.png', 'en': './assets/en/combat/COMBAT_AUTO.png', 'jp': './assets/jp/combat/COMBAT_AUTO.png'})
|
||||||
COMBAT_AUTO_SWITCH = Button(area={'cn': (18, 38, 36, 56), 'en': (16, 31, 140, 62), 'jp': (18, 36, 54, 57)}, color={'cn': (179, 198, 235), 'en': (105, 137, 189), 'jp': (160, 177, 220)}, button={'cn': (18, 38, 36, 56), 'en': (16, 31, 140, 62), 'jp': (18, 36, 54, 57)}, file={'cn': './assets/cn/combat/COMBAT_AUTO_SWITCH.png', 'en': './assets/en/combat/COMBAT_AUTO_SWITCH.png', 'jp': './assets/jp/combat/COMBAT_AUTO_SWITCH.png'})
|
COMBAT_AUTO_SWITCH = Button(area={'cn': (18, 38, 36, 56), 'en': (16, 31, 140, 62), 'jp': (18, 36, 54, 57)}, color={'cn': (179, 198, 235), 'en': (105, 137, 189), 'jp': (160, 177, 220)}, button={'cn': (18, 38, 36, 56), 'en': (16, 31, 140, 62), 'jp': (18, 36, 54, 57)}, file={'cn': './assets/cn/combat/COMBAT_AUTO_SWITCH.png', 'en': './assets/en/combat/COMBAT_AUTO_SWITCH.png', 'jp': './assets/jp/combat/COMBAT_AUTO_SWITCH.png'})
|
||||||
@ -22,14 +22,15 @@ EMERGENCY_REPAIR_AVAILABLE = Button(area={'cn': (106, 533, 119, 540), 'en': (106
|
|||||||
EMERGENCY_REPAIR_CONFIRM = Button(area={'cn': (669, 418, 842, 475), 'en': (669, 418, 842, 475), 'jp': (669, 418, 842, 475)}, color={'cn': (94, 143, 204), 'en': (94, 143, 204), 'jp': (94, 143, 204)}, button={'cn': (669, 418, 842, 475), 'en': (669, 418, 842, 475), 'jp': (669, 418, 842, 475)}, file={'cn': './assets/cn/combat/EMERGENCY_REPAIR_CONFIRM.png', 'en': './assets/en/combat/EMERGENCY_REPAIR_CONFIRM.png', 'jp': './assets/jp/combat/EMERGENCY_REPAIR_CONFIRM.png'})
|
EMERGENCY_REPAIR_CONFIRM = Button(area={'cn': (669, 418, 842, 475), 'en': (669, 418, 842, 475), 'jp': (669, 418, 842, 475)}, color={'cn': (94, 143, 204), 'en': (94, 143, 204), 'jp': (94, 143, 204)}, button={'cn': (669, 418, 842, 475), 'en': (669, 418, 842, 475), 'jp': (669, 418, 842, 475)}, file={'cn': './assets/cn/combat/EMERGENCY_REPAIR_CONFIRM.png', 'en': './assets/en/combat/EMERGENCY_REPAIR_CONFIRM.png', 'jp': './assets/jp/combat/EMERGENCY_REPAIR_CONFIRM.png'})
|
||||||
EXP_INFO_A = Button(area={'cn': (389, 100, 444, 116), 'en': (389, 100, 444, 116), 'jp': (389, 100, 444, 116)}, color={'cn': (236, 231, 116), 'en': (236, 231, 116), 'jp': (236, 231, 116)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/EXP_INFO_A.png', 'en': './assets/en/combat/EXP_INFO_A.png', 'jp': './assets/jp/combat/EXP_INFO_A.png'})
|
EXP_INFO_A = Button(area={'cn': (389, 100, 444, 116), 'en': (389, 100, 444, 116), 'jp': (389, 100, 444, 116)}, color={'cn': (236, 231, 116), 'en': (236, 231, 116), 'jp': (236, 231, 116)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/EXP_INFO_A.png', 'en': './assets/en/combat/EXP_INFO_A.png', 'jp': './assets/jp/combat/EXP_INFO_A.png'})
|
||||||
EXP_INFO_B = Button(area={'cn': (400, 122, 447, 137), 'en': (400, 122, 447, 137), 'jp': (400, 122, 447, 137)}, color={'cn': (194, 237, 255), 'en': (194, 237, 255), 'jp': (194, 237, 255)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (400, 122, 447, 137)}, file={'cn': './assets/cn/combat/EXP_INFO_B.png', 'en': './assets/en/combat/EXP_INFO_B.png', 'jp': './assets/jp/combat/EXP_INFO_B.png'})
|
EXP_INFO_B = Button(area={'cn': (400, 122, 447, 137), 'en': (400, 122, 447, 137), 'jp': (400, 122, 447, 137)}, color={'cn': (194, 237, 255), 'en': (194, 237, 255), 'jp': (194, 237, 255)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (400, 122, 447, 137)}, file={'cn': './assets/cn/combat/EXP_INFO_B.png', 'en': './assets/en/combat/EXP_INFO_B.png', 'jp': './assets/jp/combat/EXP_INFO_B.png'})
|
||||||
EXP_INFO_D = Button(area={'cn': (377, 42, 393, 137), 'en': (377, 42, 393, 137), 'jp': (377, 42, 393, 137)}, color={'cn': (198, 206, 198), 'en': (198, 206, 198), 'jp': (198, 206, 198)}, button={'cn': (1000, 631, 1055, 689), 'en': (1000, 631, 1055, 689), 'jp': (377, 42, 393, 137)}, file={'cn': './assets/cn/combat/EXP_INFO_D.png', 'en': './assets/en/combat/EXP_INFO_D.png', 'jp': './assets/jp/combat/EXP_INFO_D.png'})
|
EXP_INFO_C = Button(area={'cn': (383, 58, 400, 121), 'en': (383, 58, 400, 121), 'jp': (383, 58, 400, 121)}, color={'cn': (198, 206, 198), 'en': (198, 206, 198), 'jp': (198, 206, 198)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (999, 630, 1047, 691)}, file={'cn': './assets/cn/combat/EXP_INFO_C.png', 'en': './assets/en/combat/EXP_INFO_C.png', 'jp': './assets/jp/combat/EXP_INFO_C.png'})
|
||||||
|
EXP_INFO_D = Button(area={'cn': (377, 42, 393, 137), 'en': (377, 42, 393, 137), 'jp': (377, 42, 393, 137)}, color={'cn': (198, 206, 198), 'en': (198, 206, 198), 'jp': (198, 206, 198)}, button={'cn': (1000, 631, 1055, 689), 'en': (1000, 631, 1055, 689), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/EXP_INFO_D.png', 'en': './assets/en/combat/EXP_INFO_D.png', 'jp': './assets/jp/combat/EXP_INFO_D.png'})
|
||||||
EXP_INFO_S = Button(area={'cn': (396, 122, 457, 137), 'en': (396, 122, 457, 137), 'jp': (396, 122, 457, 137)}, color={'cn': (233, 241, 127), 'en': (233, 241, 127), 'jp': (233, 241, 127)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/EXP_INFO_S.png', 'en': './assets/en/combat/EXP_INFO_S.png', 'jp': './assets/jp/combat/EXP_INFO_S.png'})
|
EXP_INFO_S = Button(area={'cn': (396, 122, 457, 137), 'en': (396, 122, 457, 137), 'jp': (396, 122, 457, 137)}, color={'cn': (233, 241, 127), 'en': (233, 241, 127), 'jp': (233, 241, 127)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/EXP_INFO_S.png', 'en': './assets/en/combat/EXP_INFO_S.png', 'jp': './assets/jp/combat/EXP_INFO_S.png'})
|
||||||
GET_ITEMS_1 = Button(area={'cn': (538, 217, 741, 253), 'en': (550, 215, 739, 246), 'jp': (539, 220, 741, 252)}, color={'cn': (160, 192, 248), 'en': (157, 187, 233), 'jp': (146, 184, 249)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_1.png', 'en': './assets/en/combat/GET_ITEMS_1.png', 'jp': './assets/jp/combat/GET_ITEMS_1.png'})
|
GET_ITEMS_1 = Button(area={'cn': (538, 217, 741, 253), 'en': (550, 215, 739, 246), 'jp': (539, 220, 741, 252)}, color={'cn': (160, 192, 248), 'en': (157, 187, 233), 'jp': (146, 184, 249)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_1.png', 'en': './assets/en/combat/GET_ITEMS_1.png', 'jp': './assets/jp/combat/GET_ITEMS_1.png'})
|
||||||
GET_ITEMS_2 = Button(area={'cn': (538, 146, 742, 182), 'en': (549, 140, 740, 176), 'jp': (536, 146, 741, 182)}, color={'cn': (160, 192, 248), 'en': (152, 185, 236), 'jp': (145, 182, 249)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_2.png', 'en': './assets/en/combat/GET_ITEMS_2.png', 'jp': './assets/jp/combat/GET_ITEMS_2.png'})
|
GET_ITEMS_2 = Button(area={'cn': (538, 146, 742, 182), 'en': (549, 140, 740, 176), 'jp': (536, 146, 741, 182)}, color={'cn': (160, 192, 248), 'en': (152, 185, 236), 'jp': (145, 182, 249)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_2.png', 'en': './assets/en/combat/GET_ITEMS_2.png', 'jp': './assets/jp/combat/GET_ITEMS_2.png'})
|
||||||
GET_SHIP = Button(area={'cn': (1104, 610, 1110, 630), 'en': (1104, 610, 1110, 630), 'jp': (1104, 610, 1110, 630)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_SHIP.png', 'en': './assets/en/combat/GET_SHIP.png', 'jp': './assets/jp/combat/GET_SHIP.png'})
|
GET_SHIP = Button(area={'cn': (1104, 610, 1110, 630), 'en': (1104, 610, 1110, 630), 'jp': (1104, 610, 1110, 630)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_SHIP.png', 'en': './assets/en/combat/GET_SHIP.png', 'jp': './assets/jp/combat/GET_SHIP.png'})
|
||||||
LOADING_BAR = Button(area={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680)}, color={'cn': (172, 205, 232), 'en': (172, 205, 232), 'jp': (172, 205, 232)}, button={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680)}, file={'cn': './assets/cn/combat/LOADING_BAR.png', 'en': './assets/en/combat/LOADING_BAR.png', 'jp': './assets/jp/combat/LOADING_BAR.png'})
|
LOADING_BAR = Button(area={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680)}, color={'cn': (172, 205, 232), 'en': (172, 205, 232), 'jp': (172, 205, 232)}, button={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680)}, file={'cn': './assets/cn/combat/LOADING_BAR.png', 'en': './assets/en/combat/LOADING_BAR.png', 'jp': './assets/jp/combat/LOADING_BAR.png'})
|
||||||
MOVE_DOWN = Button(area={'cn': (148, 647, 155, 669), 'en': (148, 647, 155, 669), 'jp': (148, 647, 155, 669)}, color={'cn': (21, 28, 57), 'en': (21, 28, 57), 'jp': (21, 28, 57)}, button={'cn': (148, 647, 155, 669), 'en': (148, 647, 155, 669), 'jp': (148, 647, 155, 669)}, file={'cn': './assets/cn/combat/MOVE_DOWN.png', 'en': './assets/en/combat/MOVE_DOWN.png', 'jp': './assets/jp/combat/MOVE_DOWN.png'})
|
MOVE_DOWN = Button(area={'cn': (148, 647, 155, 669), 'en': (148, 647, 155, 669), 'jp': (148, 647, 155, 669)}, color={'cn': (21, 28, 57), 'en': (21, 28, 57), 'jp': (21, 28, 57)}, button={'cn': (148, 647, 155, 669), 'en': (148, 647, 155, 669), 'jp': (148, 647, 155, 669)}, file={'cn': './assets/cn/combat/MOVE_DOWN.png', 'en': './assets/en/combat/MOVE_DOWN.png', 'jp': './assets/jp/combat/MOVE_DOWN.png'})
|
||||||
OPTS_INFO_D = Button(area={'cn': (565, 143, 692, 179), 'en': (565, 143, 692, 179), 'jp': (565, 143, 692, 179)}, color={'cn': (171, 116, 110), 'en': (171, 116, 110), 'jp': (171, 116, 110)}, button={'cn': (590, 587, 627, 647), 'en': (590, 587, 627, 647), 'jp': (565, 143, 692, 179)}, file={'cn': './assets/cn/combat/OPTS_INFO_D.png', 'en': './assets/en/combat/OPTS_INFO_D.png', 'jp': './assets/jp/combat/OPTS_INFO_D.png'})
|
OPTS_INFO_D = Button(area={'cn': (602, 151, 703, 179), 'en': (565, 143, 692, 179), 'jp': (565, 143, 692, 179)}, color={'cn': (157, 115, 123), 'en': (171, 116, 110), 'jp': (171, 116, 110)}, button={'cn': (583, 605, 677, 628), 'en': (590, 587, 627, 647), 'jp': (565, 143, 692, 179)}, file={'cn': './assets/cn/combat/OPTS_INFO_D.png', 'en': './assets/en/combat/OPTS_INFO_D.png', 'jp': './assets/jp/combat/OPTS_INFO_D.png'})
|
||||||
PAUSE = Button(area={'cn': (1236, 37, 1244, 59), 'en': (1236, 37, 1244, 59), 'jp': (1236, 37, 1244, 59)}, color={'cn': (247, 243, 247), 'en': (247, 243, 247), 'jp': (247, 243, 247)}, button={'cn': (1162, 34, 1246, 61), 'en': (1151, 34, 1247, 61), 'jp': (1146, 38, 1225, 57)}, file={'cn': './assets/cn/combat/PAUSE.png', 'en': './assets/en/combat/PAUSE.png', 'jp': './assets/jp/combat/PAUSE.png'})
|
PAUSE = Button(area={'cn': (1236, 37, 1244, 59), 'en': (1236, 37, 1244, 59), 'jp': (1236, 37, 1244, 59)}, color={'cn': (247, 243, 247), 'en': (247, 243, 247), 'jp': (247, 243, 247)}, button={'cn': (1162, 34, 1246, 61), 'en': (1151, 34, 1247, 61), 'jp': (1146, 38, 1225, 57)}, file={'cn': './assets/cn/combat/PAUSE.png', 'en': './assets/en/combat/PAUSE.png', 'jp': './assets/jp/combat/PAUSE.png'})
|
||||||
PAUSE_DOUBLE_CHECK = Button(area={'cn': (1231, 35, 1236, 60), 'en': (1231, 35, 1236, 60), 'jp': (1231, 35, 1235, 60)}, color={'cn': (96, 104, 136), 'en': (96, 104, 136), 'jp': (97, 102, 120)}, button={'cn': (1231, 35, 1236, 60), 'en': (1231, 35, 1236, 60), 'jp': (1231, 35, 1235, 60)}, file={'cn': './assets/cn/combat/PAUSE_DOUBLE_CHECK.png', 'en': './assets/en/combat/PAUSE_DOUBLE_CHECK.png', 'jp': './assets/jp/combat/PAUSE_DOUBLE_CHECK.png'})
|
PAUSE_DOUBLE_CHECK = Button(area={'cn': (1231, 35, 1236, 60), 'en': (1231, 35, 1236, 60), 'jp': (1231, 35, 1235, 60)}, color={'cn': (96, 104, 136), 'en': (96, 104, 136), 'jp': (97, 102, 120)}, button={'cn': (1231, 35, 1236, 60), 'en': (1231, 35, 1236, 60), 'jp': (1231, 35, 1235, 60)}, file={'cn': './assets/cn/combat/PAUSE_DOUBLE_CHECK.png', 'en': './assets/en/combat/PAUSE_DOUBLE_CHECK.png', 'jp': './assets/jp/combat/PAUSE_DOUBLE_CHECK.png'})
|
||||||
READY_AIR_RAID = Button(area={'cn': (887, 618, 907, 628), 'en': (887, 618, 907, 628), 'jp': (887, 618, 907, 628)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255)}, button={'cn': (887, 618, 907, 628), 'en': (887, 618, 907, 628), 'jp': (887, 618, 907, 628)}, file={'cn': './assets/cn/combat/READY_AIR_RAID.png', 'en': './assets/en/combat/READY_AIR_RAID.png', 'jp': './assets/jp/combat/READY_AIR_RAID.png'})
|
READY_AIR_RAID = Button(area={'cn': (887, 618, 907, 628), 'en': (887, 618, 907, 628), 'jp': (887, 618, 907, 628)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255)}, button={'cn': (887, 618, 907, 628), 'en': (887, 618, 907, 628), 'jp': (887, 618, 907, 628)}, file={'cn': './assets/cn/combat/READY_AIR_RAID.png', 'en': './assets/en/combat/READY_AIR_RAID.png', 'jp': './assets/jp/combat/READY_AIR_RAID.png'})
|
||||||
|
@ -308,7 +308,7 @@ def main(ini_name=''):
|
|||||||
|
|
||||||
# 演习设置
|
# 演习设置
|
||||||
exercise = daily_parser.add_argument_group('Exercise settings', 'Only support the most experience for the time being')
|
exercise = daily_parser.add_argument_group('Exercise settings', 'Only support the most experience for the time being')
|
||||||
exercise.add_argument('--exercise_choose_mode', default=default('--exercise_choose_mode'), choices=['max_exp', 'max_ranking', 'good_opponent'], help='Only support the most experience for the time being')
|
exercise.add_argument('--exercise_choose_mode', default=default('--exercise_choose_mode'), choices=['max_exp', 'max_ranking', 'good_opponent', 'easiest'], help='Only support the most experience for the time being')
|
||||||
exercise.add_argument('--exercise_preserve', default=default('--exercise_preserve'), help='Only 0 are temporarily reserved')
|
exercise.add_argument('--exercise_preserve', default=default('--exercise_preserve'), help='Only 0 are temporarily reserved')
|
||||||
exercise.add_argument('--exercise_try', default=default('--exercise_try'), help='The number of attempts by each opponent')
|
exercise.add_argument('--exercise_try', default=default('--exercise_try'), help='The number of attempts by each opponent')
|
||||||
exercise.add_argument('--exercise_hp_threshold', default=default('--exercise_hp_threshold'), help='HHP <Retreat at Threshold')
|
exercise.add_argument('--exercise_hp_threshold', default=default('--exercise_hp_threshold'), help='HHP <Retreat at Threshold')
|
||||||
|
@ -9,19 +9,23 @@ from module.ui.ui import UI
|
|||||||
|
|
||||||
OPPONENT = ButtonGrid(origin=(104, 77), delta=(244, 0), button_shape=(212, 304), grid_shape=(4, 1))
|
OPPONENT = ButtonGrid(origin=(104, 77), delta=(244, 0), button_shape=(212, 304), grid_shape=(4, 1))
|
||||||
|
|
||||||
|
# Mode 'easiest' constants
|
||||||
|
# MAX_LVL_SUM = Max Fleet Size (6) * Max Lvl (120)
|
||||||
|
# PWR_FACTOR used to make overall PWR manageable
|
||||||
|
MAX_LVL_SUM = 720
|
||||||
|
PWR_FACTOR = 100
|
||||||
|
|
||||||
class Opponent:
|
class Opponent:
|
||||||
def __init__(self, main_image, fleet_image, index):
|
def __init__(self, main_image, fleet_image, index):
|
||||||
self.index = index
|
self.index = index
|
||||||
self.power = self.get_power(image=main_image)
|
self.power = self.get_power(image=main_image)
|
||||||
self.level = self.get_level(image=fleet_image)
|
self.level = self.get_level(image=fleet_image)
|
||||||
self.priority = self.get_priority()
|
|
||||||
|
|
||||||
# [OPPONENT_1] ( 8256) 120 120 120 | (12356) 100 80 80
|
# [OPPONENT_1] ( 8256) 120 120 120 | (12356) 100 80 80
|
||||||
level = [str(x).rjust(3, ' ') for x in self.level]
|
level = [str(x).rjust(3, ' ') for x in self.level]
|
||||||
power = ['(' + str(x).rjust(5, ' ') + ')' for x in self.power]
|
power = ['(' + str(x).rjust(5, ' ') + ')' for x in self.power]
|
||||||
logger.attr(
|
logger.attr(
|
||||||
'OPPONENT_%s, %s' % (index, str(np.round(self.priority, 3)).ljust(5, '0')),
|
'OPPONENT_%s' % (index),
|
||||||
' '.join([power[0]] + level[:3] + ['|'] + [power[1]] + level[3:])
|
' '.join([power[0]] + level[:3] + ['|'] + [power[1]] + level[3:])
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -54,14 +58,19 @@ class Opponent:
|
|||||||
result = power.ocr(image)
|
result = power.ocr(image)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def get_priority(self):
|
def get_priority(self, method="max_exp"):
|
||||||
# level = np.sum(self.level) / 6
|
# level = np.sum(self.level) / 6
|
||||||
# power = np.sum(self.power) / 6
|
# power = np.sum(self.power) / 6
|
||||||
# return level - (power - 1000) / 30
|
# return level - (power - 1000) / 30
|
||||||
|
|
||||||
level = np.sum(self.level) / 6
|
if method == "easiest":
|
||||||
return level
|
level = (1 - (np.sum(self.level) / MAX_LVL_SUM)) * 100
|
||||||
|
team_pwr_div = np.count_nonzero(self.level) * PWR_FACTOR
|
||||||
|
avg_team_pwr = np.sum(self.power) / team_pwr_div
|
||||||
|
priority = level - avg_team_pwr
|
||||||
|
else:
|
||||||
|
priority = np.sum(self.level) / 6
|
||||||
|
return priority
|
||||||
|
|
||||||
class OpponentChoose(UI):
|
class OpponentChoose(UI):
|
||||||
main_image = None
|
main_image = None
|
||||||
@ -81,6 +90,6 @@ class OpponentChoose(UI):
|
|||||||
appear_button=EXERCISE_PREPARATION, skip_first_screenshot=True)
|
appear_button=EXERCISE_PREPARATION, skip_first_screenshot=True)
|
||||||
|
|
||||||
def _opponent_sort(self):
|
def _opponent_sort(self):
|
||||||
priority = np.argsort([- x.priority for x in self.opponents])
|
priority = np.argsort([- x.get_priority(self.config.EXERCISE_CHOOSE_MODE) for x in self.opponents])
|
||||||
logger.attr('Order', str(priority))
|
logger.attr('Order', str(priority))
|
||||||
return priority
|
return priority
|
||||||
|