From f65c0c17e95b2c5a6671424735a2a39630a7e001 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 2 Sep 2025 00:24:45 +0800 Subject: [PATCH 01/33] Fix: OpsiCrossMonth should not buy oil at meowfficer farming step (#5095) --- module/os/map.py | 3 +-- module/os/operation_siren.py | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/os/map.py b/module/os/map.py index 3839d019c..078ef35fa 100644 --- a/module/os/map.py +++ b/module/os/map.py @@ -1,5 +1,4 @@ import time -from sys import maxsize import inflection @@ -421,7 +420,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StrategicSearchHandler): return 300 else: logger.info('Not close to OpSi reset') - return maxsize + return 2000 def handle_after_auto_search(self): logger.hr('After auto search', level=2) diff --git a/module/os/operation_siren.py b/module/os/operation_siren.py index 82e2b544b..0ad96dce3 100644 --- a/module/os/operation_siren.py +++ b/module/os/operation_siren.py @@ -211,6 +211,7 @@ class OperationSiren(OSMap): logger.hr(f'OS meowfficer farming, hazard_level=3', level=1) self.config.override( OpsiGeneral_DoRandomMapEvent=True, + OpsiGeneral_BuyActionPointLimit=0, HOMO_EDGE_DETECT=True, STORY_OPTION=-2, # Meowfficer farming From 8c4a9600e62e3d368b58ce579fab94fe8804c9b5 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 2 Sep 2025 00:59:07 +0800 Subject: [PATCH 02/33] Refactor: Gitpython preparations --- config/deploy.template-AidLux-cn.yaml | 5 ----- config/deploy.template-AidLux.yaml | 5 ----- config/deploy.template-cn.yaml | 5 ----- config/deploy.template-docker-cn.yaml | 5 ----- config/deploy.template-docker.yaml | 5 ----- config/deploy.template-linux-cn.yaml | 5 ----- config/deploy.template-linux.yaml | 5 ----- config/deploy.template.yaml | 5 ----- deploy/Windows/config.py | 1 - deploy/Windows/git.py | 31 +++++++-------------------- deploy/Windows/template.yaml | 5 ----- deploy/config.py | 1 - deploy/git.py | 23 ++++---------------- deploy/git_over_cdn/client.py | 18 +++++----------- deploy/template | 5 ----- 15 files changed, 17 insertions(+), 107 deletions(-) diff --git a/config/deploy.template-AidLux-cn.yaml b/config/deploy.template-AidLux-cn.yaml index 50e6bd7c3..05d52c896 100644 --- a/config/deploy.template-AidLux-cn.yaml +++ b/config/deploy.template-AidLux-cn.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-AidLux.yaml b/config/deploy.template-AidLux.yaml index cb2c1bde3..6add52988 100644 --- a/config/deploy.template-AidLux.yaml +++ b/config/deploy.template-AidLux.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-cn.yaml b/config/deploy.template-cn.yaml index 4e75328ba..ba14ca3a8 100644 --- a/config/deploy.template-cn.yaml +++ b/config/deploy.template-cn.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-docker-cn.yaml b/config/deploy.template-docker-cn.yaml index dde3fb12c..54f046437 100644 --- a/config/deploy.template-docker-cn.yaml +++ b/config/deploy.template-docker-cn.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-docker.yaml b/config/deploy.template-docker.yaml index 8b5990d96..0c1ef6300 100644 --- a/config/deploy.template-docker.yaml +++ b/config/deploy.template-docker.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-linux-cn.yaml b/config/deploy.template-linux-cn.yaml index 285a00dba..66285c641 100644 --- a/config/deploy.template-linux-cn.yaml +++ b/config/deploy.template-linux-cn.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template-linux.yaml b/config/deploy.template-linux.yaml index ed0729146..1a4db41bf 100644 --- a/config/deploy.template-linux.yaml +++ b/config/deploy.template-linux.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/config/deploy.template.yaml b/config/deploy.template.yaml index 8b725e90f..a3b8dbce0 100644 --- a/config/deploy.template.yaml +++ b/config/deploy.template.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/deploy/Windows/config.py b/deploy/Windows/config.py index 6083350e0..c7b5e598a 100644 --- a/deploy/Windows/config.py +++ b/deploy/Windows/config.py @@ -20,7 +20,6 @@ class ConfigModel: GitProxy: Optional[str] = None SSLVerify: bool = False AutoUpdate: bool = True - KeepLocalChanges: bool = False # Python PythonExecutable: str = "./toolkit/python.exe" diff --git a/deploy/Windows/git.py b/deploy/Windows/git.py index c873f6b35..acc4db4a4 100644 --- a/deploy/Windows/git.py +++ b/deploy/Windows/git.py @@ -52,8 +52,7 @@ class GitManager(DeployConfig): return conf def git_repository_init( - self, repo, source='origin', branch='master', - proxy='', ssl_verify=True, keep_changes=False + self, repo, source='origin', branch='master', proxy='', ssl_verify=True ): logger.hr('Git Init', 1) if not self.execute(f'"{self.git}" init', allow_failure=True): @@ -104,25 +103,12 @@ class GitManager(DeployConfig): if os.path.exists(lock_file): logger.info(f'Lock file {lock_file} exists, removing') os.remove(lock_file) - if keep_changes: - if self.execute(f'"{self.git}" stash', allow_failure=True): - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') - if self.execute(f'"{self.git}" stash pop', allow_failure=True): - pass - else: - # No local changes to existing files, untracked files not included - logger.info('Stash pop failed, there seems to be no local changes, skip instead') - else: - logger.info('Stash failed, this may be the first installation, drop changes instead') - self.execute(f'"{self.git}" reset --hard {source}/{branch}') - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') - else: - self.execute(f'"{self.git}" reset --hard {source}/{branch}') - Progress.GitReset() - # Since `git fetch` is already called, checkout is faster - if not self.execute(f'"{self.git}" checkout {branch}', allow_failure=True): - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') - Progress.GitCheckout() + self.execute(f'"{self.git}" reset --hard {source}/{branch}') + Progress.GitReset() + # Since `git fetch` is already called, checkout is faster + if not self.execute(f'"{self.git}" checkout {branch}', allow_failure=True): + self.execute(f'"{self.git}" pull --ff-only {source} {branch}') + Progress.GitCheckout() logger.hr('Show Version', 1) self.execute(f'"{self.git}" --no-pager log --no-merges -1') @@ -149,7 +135,7 @@ class GitManager(DeployConfig): return if self.GitOverCdn: - if self.goc_client.update(keep_changes=self.KeepLocalChanges): + if self.goc_client.update(): return self.git_repository_init( @@ -158,5 +144,4 @@ class GitManager(DeployConfig): branch=self.Branch, proxy=self.GitProxy, ssl_verify=self.SSLVerify, - keep_changes=self.KeepLocalChanges, ) diff --git a/deploy/Windows/template.yaml b/deploy/Windows/template.yaml index 40e5fd1d6..1dc91ea9e 100644 --- a/deploy/Windows/template.yaml +++ b/deploy/Windows/template.yaml @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` diff --git a/deploy/config.py b/deploy/config.py index e63128169..ea56c2299 100644 --- a/deploy/config.py +++ b/deploy/config.py @@ -17,7 +17,6 @@ class ConfigModel: GitProxy: Optional[str] = None SSLVerify: bool = False AutoUpdate: bool = True - KeepLocalChanges: bool = False # Python PythonExecutable: str = "./toolkit/python.exe" diff --git a/deploy/git.py b/deploy/git.py index 0ec4ba854..669870a7c 100644 --- a/deploy/git.py +++ b/deploy/git.py @@ -23,8 +23,7 @@ class GitManager(DeployConfig): logger.info(f'File not found: {file}') def git_repository_init( - self, repo, source='origin', branch='master', - proxy='', ssl_verify=True, keep_changes=False + self, repo, source='origin', branch='master', proxy='', ssl_verify=True ): logger.hr('Git Init', 1) if not self.execute(f'"{self.git}" init', allow_failure=True): @@ -63,21 +62,8 @@ class GitManager(DeployConfig): if os.path.exists(lock_file): logger.info(f'Lock file {lock_file} exists, removing') os.remove(lock_file) - if keep_changes: - if self.execute(f'"{self.git}" stash', allow_failure=True): - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') - if self.execute(f'"{self.git}" stash pop', allow_failure=True): - pass - else: - # No local changes to existing files, untracked files not included - logger.info('Stash pop failed, there seems to be no local changes, skip instead') - else: - logger.info('Stash failed, this may be the first installation, drop changes instead') - self.execute(f'"{self.git}" reset --hard {source}/{branch}') - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') - else: - self.execute(f'"{self.git}" reset --hard {source}/{branch}') - self.execute(f'"{self.git}" pull --ff-only {source} {branch}') + self.execute(f'"{self.git}" reset --hard {source}/{branch}') + self.execute(f'"{self.git}" pull --ff-only {source} {branch}') logger.hr('Show Version', 1) self.execute(f'"{self.git}" --no-pager log --no-merges -1') @@ -102,7 +88,7 @@ class GitManager(DeployConfig): return if self.GitOverCdn: - if self.goc_client.update(keep_changes=self.KeepLocalChanges): + if self.goc_client.update(): return self.git_repository_init( @@ -111,7 +97,6 @@ class GitManager(DeployConfig): branch=self.Branch, proxy=self.GitProxy, ssl_verify=self.SSLVerify, - keep_changes=self.KeepLocalChanges, ) diff --git a/deploy/git_over_cdn/client.py b/deploy/git_over_cdn/client.py index cbb634994..a8fb5b5d2 100644 --- a/deploy/git_over_cdn/client.py +++ b/deploy/git_over_cdn/client.py @@ -204,7 +204,7 @@ class GitOverCdnClient: self.logger.warning(f'TimeoutExpired when calling {cmd}, stdout={stdout}, stderr={stderr}') return stdout.decode() - def git_reset(self, keep_changes=False): + def git_reset(self): """ git reset --hard """ @@ -217,12 +217,7 @@ class GitOverCdnClient: if os.path.exists(lock_file): self.logger.info(f'Lock file {lock_file} exists, removing') os.remove(lock_file) - if keep_changes: - self.git_command('stash') - self.git_command('reset', '--hard', f'{self.source}/{self.branch}') - self.git_command('stash', 'pop') - else: - self.git_command('reset', '--hard', f'{self.source}/{self.branch}') + self.git_command('reset', '--hard', f'{self.source}/{self.branch}') def get_status(self): """ @@ -245,11 +240,8 @@ class GitOverCdnClient: self.logger.info('Current repo is behind remote') return 'behind' - def update(self, keep_changes=False): + def update(self): """ - Args: - keep_changes: - Returns: bool: If repo is up-to-date """ @@ -263,13 +255,13 @@ class GitOverCdnClient: return False if self.current_commit == self.latest_commit: self.logger.info('Already up to date') - self.git_reset(keep_changes=keep_changes) + self.git_reset() return True if not self.download_pack(): return False if not self.update_refs(): return False - self.git_reset(keep_changes=keep_changes) + self.git_reset() self.logger.info('Update success') return True diff --git a/deploy/template b/deploy/template index e13b046e4..a724703e3 100644 --- a/deploy/template +++ b/deploy/template @@ -23,11 +23,6 @@ Deploy: # Update Alas at startup # [In most cases] Use true AutoUpdate: true - # Whether to keep local changes during update - # User settings, logs and screenshots will be kept, no mather this is true or false - # [Developer] Use true, if you modified the code - # [Other] Use false - KeepLocalChanges: false Python: # Filepath of python executable `python.exe` From 804f8c5f1073678de33b26ccd07cf70be260360e Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Tue, 2 Sep 2025 01:05:17 +0800 Subject: [PATCH 03/33] Opt: disable handle_get_items in OSCombat.combat_status (#5019) --- module/os_combat/combat.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/module/os_combat/combat.py b/module/os_combat/combat.py index 461ec5ad0..ae9478c55 100644 --- a/module/os_combat/combat.py +++ b/module/os_combat/combat.py @@ -118,6 +118,8 @@ class Combat(Combat_, MapEventHandler): Returns: bool: """ + if getattr(self, '_disable_handle_get_items', False): + return False if self.appear(GET_ITEMS_1, offset=5, interval=self.battle_status_click_interval): if drop: drop.handle_add(self, before=2) @@ -159,7 +161,12 @@ class Combat(Combat_, MapEventHandler): self.__os_combat_drop = drop if expected_end is None: expected_end = self._os_combat_expected_end - super().combat_status(drop=drop, expected_end=expected_end) + # disable handle_get_items and use only handle_map_get_items + self._disable_handle_get_items = True + try: + super().combat_status(drop=drop, expected_end=expected_end) + finally: + self._disable_handle_get_items = False def combat(self, *args, save_get_items=False, **kwargs): """ From ec3d215deb21aa37cc7c852a2e1f1fd75412f307 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Wed, 3 Sep 2025 12:29:17 +0800 Subject: [PATCH 04/33] Merge pull request #5102 from guoh064/jp_os_names Fix: [JP] get_zone_name after process --- module/os/map_operation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/module/os/map_operation.py b/module/os/map_operation.py index 433465afa..6a876dd05 100644 --- a/module/os/map_operation.py +++ b/module/os/map_operation.py @@ -95,6 +95,7 @@ class OSMapOperation(MapOrderHandler, MissionHandler, PortHandler, StorageHandle name = name.replace('一', 'ー').replace('力', 'カ').replace('卜', 'ト').replace('ぺ', 'ペ') name = name.replace('ジブフルタル', 'ジブラルタル') name = name.replace('タント', 'タラント').replace('タフント', 'タラント') + name = name.replace('N海域', 'NA海域') return name @Config.when(SERVER='tw') From 8bf8b5c1a490f663a28e3b898a0e99ee26f31fb9 Mon Sep 17 00:00:00 2001 From: Compeador Date: Wed, 3 Sep 2025 12:47:15 +0800 Subject: [PATCH 05/33] fix: some shop item assets (#5100) --- assets/shop/core/Array_3.png | Bin 0 -> 18600 bytes assets/shop/guild/BookT2_5.png | Bin 0 -> 15830 bytes assets/shop/medal/BookRedT2_3.png | Bin 0 -> 17826 bytes assets/shop/medal/BookRedT3_3.png | Bin 0 -> 17389 bytes assets/shop/medal/BookT2_5.png | Bin 0 -> 15830 bytes assets/shop/medal/PlateAntiAirT2_3.png | Bin 0 -> 18876 bytes assets/shop/medal/PlateGeneralT2_3.png | Bin 0 -> 18581 bytes assets/shop/medal/PlateGunT2_3.png | Bin 0 -> 18902 bytes assets/shop/medal/PlateGunT3_3.png | Bin 0 -> 19072 bytes assets/shop/medal/PlatePlaneT3_3.png | Bin 0 -> 18808 bytes assets/shop/medal/PlateTorpedoT3_3.png | Bin 0 -> 18676 bytes assets/shop/medal/SpecializedCore_2.png | Bin 0 -> 18315 bytes assets/shop/merit/BoxT1_5.png | Bin 0 -> 19608 bytes assets/shop/merit/BoxT1_6.png | Bin 0 -> 19838 bytes 14 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/shop/core/Array_3.png create mode 100644 assets/shop/guild/BookT2_5.png create mode 100644 assets/shop/medal/BookRedT2_3.png create mode 100644 assets/shop/medal/BookRedT3_3.png create mode 100644 assets/shop/medal/BookT2_5.png create mode 100644 assets/shop/medal/PlateAntiAirT2_3.png create mode 100644 assets/shop/medal/PlateGeneralT2_3.png create mode 100644 assets/shop/medal/PlateGunT2_3.png create mode 100644 assets/shop/medal/PlateGunT3_3.png create mode 100644 assets/shop/medal/PlatePlaneT3_3.png create mode 100644 assets/shop/medal/PlateTorpedoT3_3.png create mode 100644 assets/shop/medal/SpecializedCore_2.png create mode 100644 assets/shop/merit/BoxT1_5.png create mode 100644 assets/shop/merit/BoxT1_6.png diff --git a/assets/shop/core/Array_3.png b/assets/shop/core/Array_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a23d84aaf72309468299fc50a3edbe56c08d90c3 GIT binary patch literal 18600 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 literal 0 HcmV?d00001 diff --git a/assets/shop/guild/BookT2_5.png b/assets/shop/guild/BookT2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d74b88074932e172939497d827bd63e4cdda9904 GIT binary patch literal 15830 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 literal 0 HcmV?d00001 diff --git a/assets/shop/medal/BookRedT2_3.png b/assets/shop/medal/BookRedT2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d6749c80494b2d370a078c29939566ddccda506d GIT binary patch literal 17826 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%0AvOy{ zUg{J##4dekFuXlQtgWMc4ZVP^ZCqc&bPN;_VYZq$fCy$FMw+6X?oQck!`)qmhLWHO zAP~V6F+mkXpcy&Kr@KJ49zeGZk-T=Gr%AQGKwJsMj!$TatGS| zc}KLPXxrH2#Ew$0ncK5(dAM-x%Jt2y>-!GL#~-`v*=NpOy0YPbY+w+;V8-FhNPq$WF~|V~jbI0M$Q?+)h7utjLWs9kR*oPC za!9upUFqOFs(N;RAcg?!z=9HEDbu7Jd}2*aZ((&mnbfZS>X&}EOQUao^Ba4Y4(-{) z*RK)-flZ8niZZ7zcV_C@1qxJ1ixMG7#ZZ*4V(-|SDPRUAP~ec1;N_k>_pdGtCJ90U zC@f*nN7aV~RDFaR5GbL`FkpEZw;jUD9=IC0pk#P~2TTEh0tUDWYM6|X5=^0rR4{EZ znV^kOz!*s}nPNOa8({@fkP5~vb|#o66ay1HLkKMJ6~uuEzE?BwbC``a6 zX1f@h2!x@9b3sboq+1`L+Y1^q8_^~hg^YLik&!VH`n?8_h4ZTmf`CBy&sm7 zr@~i%j}GibjOg{c?|&zse5?80-{pM=Fm2H^@r4)S^UshMumiDa5n@NeR+1Gnm0T_@ z?YngJz6bBSd+*Ae_h`IdUS18}-*N1=<;A77t7X@UIRY0rxFErxW`J2>_9DzKW;14D zv0{KR1Ar4Sqb;_$G^j%U-jBau&Yk(p{{5|&OC*JZO{RuS&fGM@N_BXD^`$THhaNRR z#~n4*tRL)bra$}h(HpNc4?k4@_LpZ5D!uqhym~c!@{{=d=K$m%{V2WiTKK{jdEW{E z2D(#cyGs|{*S;nP_RI|3^wNdtwQJSyf1UU2owanOZ2bIjriwfp5v(}CgGh5U6C)|Q zS@qXe_b(jWw`X}^imh=3?BkC;_6J}8cduTV|MRma93iM$r*HyyYi0~!q7bT*k+OLY zW~f=5y|V%cV9;VrdiVVYAZ!2KKmUImyYS}UJbGwYITD(8Y-K`fxzHpPK6EI2@DaNG z4gk8gzVToG*YzVG8vMqu1IRn0X({eQAM!_TpWWE#r;oQUy*&SWzZdSmf7X&Np5OlE zE7je{_}~GKv2KQGw3YU*8twW4B_-_*=&t+T@hVY@?rbFyb``MzfK)|ODv`KKYNQ=8 zLhkBz;)onDj``fV^G`qb^of(N_xke-b1NE;?^-c4Fbr%)WX1vrYq4TX%)-2DTZP~S zL68iyC#kvIdGCJehm-%OH;!#xfArqF$0Us~nfACvhlGQx`Y&wZ2 z-m-+tr!7DOhhbZFdEZI5n-f1#3Fe5M=g9x*@ zRTv3W>$FeXdn;N9A&4)lE0^}Y90hYqs$0LCxAaQ&bBkDg`akN$S^zV~4;uk(vrZ@emdR{9@! zNcuehIv$Uoe8Md+_aFTb_i6xTI^BHvrFj0FI0sWR1rb>WdjsXXO(kZjZiJp5KC<_Y z!=VZQx~@C(_L-)x?l^MinG@?;T-C4x0?+sr39LE5;E~jl!uhIl5VlUhiogb;Y={aM zAO_7S;%>h3lC`hhrEZ}&cd2csiO4$fotXk$3SutR)@DCy2n;|L78d^K54&gY+xh!~n9mgvBL@Y&`zc>;Lqh zl{`LoA>4D{I~{1s(+d~V`i5IviaJB+HEF4cJX5FenR8R!SezT~U){g5T30>;SFT-o z@x^C8_|Sb{{qo=X(f8MG-q@@gVnYU*BXd@SjM%BNBklc6 zFdsV9`{+j&f9==g)&yBj_D%>!Vm@fEQRm*hc`Ye~LWFlG$jDbD9=~#tOO1)QLA&h$JL4Xx9rS1{5;@+V!e@_(*SVzUex3#s*G6&j(966TE}%Y|G)> zj{L1Zs*l~7u3m{JPqweVPR6~v?%=Ajc50)s96aET9D(-$V4BvibJcV6ivYkzeeV|L z`B#{6Ev0w#_Il5rcUnr(-ob;_^3ppkTuMdM5p@IzGE70@s;ZO_V=!~2V@qzZNc{yB zVvmi>H_n|owY9OiwlUt=+$GcuwhNUxh8Y9mgd7(#gGwM@xgg?m5mWLao;{N%_Qqa9 zT@)8D-E`xfWBsavnVGN`7RSV9C8^9U4DWl-!pA<=zx&wWz3-izIGL_qsrN2(RRQ2$ z-`cVC8doxO2xT9D9@qhoXj$J(Q zhkN!dI#-yKC3eZ@B7}+x;<#J8R?fez-K4vIW9f6B=U#8;^^-j4wNL+I^5he)uFGWS z=AVBPZA_<5mFw62!2{f%133<1`s(Wz+j!>0)?^zgk@w@5e;Kb`r&nKg*Dj$H3Ss=* zOZobZg_XJP+}r8=`Fh{#^zyZ>XP(pPRD+MV;723C5p{)P5-QjF&Go(eK77~hx34TB zp+ooT%deh4eeQ4k&EKx=-g9qmB`C2Pk^>Z^ZU)Ay8Au#E0!TZ}0M$;y%>6eA!!e-N zw&mcF#m_V)<^qOWS*nBd?!CW0d=yqFxc1Z; zy?Ckr!26n`x980*^D=(s*?j#>RF%W?bC<-$Z%ItI1XjLl=Kq~3n`SWj| zJF~gH<*8RyeK>Qh0;lF3A((1gpuDTW2!gCeK;H+?C}u4qFnVl66pJy@(tLgG`jxHG z@w=+#$igs^ns^jL*TJj+ktm2)ASq#-#&4Zy-##5&H6=ny7GvoT%e3&%em-`b%m9?} zn2K%wL`XNUA;p{j!#~}qYb%9_ zrfX|j*Ojl7q=P|F2v*E%l#;Tz(L!JPb1UM7GXO2Ry}rG@xwXABzHo6Ta90Or=W?Nx z%>fGNj74#Tz{nXwQUwM|GA*zmXxIr+EV(ER2F>B4%P$`P`O8my>%&$3fx$szXC_t* zv9n^kh@LVC0xMaq>r7J%CqyKyEGAwocQ>z_nXwejsA_h8a`h6;{2&E+524Z8x)lYa zRpWk7f*-wk%5pa5qHw*&1stzWxNNy(&wGh`4shL>HO*NQn$m2g*b0hqbR5O7j1 zrZDRdsyp7h|6f0K`X_(!-GAr(58t=E)B+r;nVZYSX7plbCV*q8koa1t>536S7`Z@T zBGffK0ej+DqOvoH1rM%4&a?|8Laq}L7RUbGpZDfwyJ0L4f{^B>2V!Dpg_ubgT`_?< zLNt&XtHHo(nfP)uT)OS>-FF;rdW`|s*VkTn{>3})IQqd4e)h&C+fFyUH!UDR<-vqt zDqVpIk|8SwHJrlH|n$gV1+vjE;*TMN6(9%u$Nbi-D;F zASjFom>?4(47}R{L1F7ahAQXMwqs3XomrR6$dXx?P$(vCV>S*&T%0YIcYi+XnKE)L z2?)g~YJ^zfcgN}g6LOkEiXC_vA1W(J&F5cCkBmc69Yz z&YihXX3qYv_M>1H5z-QwMaY-(?lm%-Ai&IEMg<+Y*whQXFmSFEB4B-ebM5-I5M(r> z^JlwB)GCCYRBi4`Qd4q-AVsYJLXZTDnx*nQtc;n))0}fz>U-yS8j)Ie&s{5>P5z5- zK7Qcph2J}Lc*xWVx!|azk~M%YXtNP+%4x6+n%gkalBf!rZ4m?f2}p z>2wwX zW_7TmN0+vE`;{x_dRtp}+&8~98kvaHp=_s8)QERAAOuzX<+Vnt27)jZ1p!jBb#Zd? zls|lU@oT?JA)tB}6`H*K;`UE}5HDYV6(&gf^>GYPP zm{Br%4t@MIsf+A3m2}udKk@-rch};7gkuB!8b4h2{KRs zFbY8p2FjL;7N9CcOP-e4st;lR9rKSooGxFC>+9{S$KCvj+qW0M=!qxR{^Xl-=(eWm zwS*$)GW5q5u^&WP$KILzVZ(6m0vlq z`1otzfA+`!>XAww8Scp{J~TpxZem%*=&#x=0-I$jY#`-STAhr-aL|AF(f)fM7~FS% z|Gsf423bAGPC9a__bH6m+z4y zhpztP|ISQTzVzklz+S(&R3AAU4jtW~Ki+xz7g0g8{bkqC{T2I2Vpgm$L5Ng~83C}A zBwLhbeb5UBj^1(LP;ef=G`82*Z!9e>9=+|@sW&&6=OI)}NqM?6oyH_VIQUy|M_XV9 zE5=HLen`N$)A2a2EHn#)(B(MpQjh%d{<`kFHlb!0SSN_6hAE*a0z>InZ5DY#0d+VU?j3&M!T9#6@msIcq|3P&*b6D_mZNC5Y?gIIkdPHx$V*`6q6I``F^j)3x70s+ z$ALSJ4F`h)+_-t;trI5}m*)@ez4O|&)bl&T25p>-V^r{B15)IKnSe@#&=ojFQxORx zLChpr(L5fv*`leXJh^n^0;XHHIcb6*EUVCm$kt*bXg{L)vx!gamy z`OlPYdi`79o?g95y(-66#iblrp z-M9SMr{;g>D?+2viKEu$h3~v1@GR0A^%E&KbFbna>8u)!}?Mx3ExC z@Mzoi!nuo2KJg?={gID8xHueilgV@vO}P(7y5d=3jir+7AOwn-^RyY3q&$gd34mfe=z}nN?)mQ8<B^<5MS86A?35AUYGc z6FP$s9HS`2#6!5GOZ~YkhmRh<>*&GNg=9z(C(pip?dG+|9{bqx;^Eg`xzvrjUhOOA zy4YoPM6P1X;E9SO1Xi^IGxIE-eas3&<-_8F58i1)@crvAyu5wsiF?i6F+T_GOdQlv zG!kTk89az!F!LIFcRy5rG%PX#3|sp000be-08daY>PGUSE9l zx0iqC>+tTzpZ>|(pMI+z%opdnSuP-RzPYjelOGK~^V!3{_jR{0=V$zVn&gcQu#kkz zqOf0$`xG-sgus~)J(csr;oG+z{`qi{``1GrrgId_o zMzk6#K}DEonC6_db$}X-8P1z`OyHEYuIj;X5Q3SitK`5PE6+allNZ1J&4+r;`+E!7 ziuoEwhzZ3Eq_C{n5tCW!CjQ95;lmHj)CT}4gx-7K)15d@p<&%1kSgUA{rq75;fI#L z^rhYd_XDWjyep@ii!noBh{^5U*SzPwz4yF#@X?P}w;kH$yxQsLm6zh#vz7OSgg}CK zqcc^^gws~?EIXzYof>DU=X$+`3ggbEqpg=;eBq7P-~0#voB!=}ZO_S?AcaK&gbHjHi-AA|UP+3XlDQyD3)Q~mYR~|fCf(T?vqPw=tLHZR zyqpRZLFLg9NuTIaroyR*)%iMzxbvJKLFPw{PmW!CFW)jw% zcP?JkpZwVU^0o2t*YkKy{Rg?&|)uo3XeB|tz zNyF<*?1el-6;m~0ss&n14a|6l7c=70G=9);CS75%sv?EWFU*b7`v3GN-)`SJ{-xXY z&q1@At18WzwFsyvh`|IiV=b-;)m?XXYd1H4@PpCwFAg4f-@d>7?=~NNByaCr`_>G z@$?f1_wRr3lOMi*)@@9;>Oh{671InQZX7(@c4QVbHJA``;cUD(9E7Txs(NoBpb#dl z%`Fdl%XsR!r#8=?eb3_DAPBsuP|D*jw~+`Ac?P5dTva-rOn&yxB1+; zb5H#E#|y*37r*$$h2gxF=sl8Rnye@dLhvkYL2+KH5PaC>#e_-4F^a%u3U5TSwk$6V z2)#2GFD|WZ?mv7i<;QVOrS6Cr^YYe^GsTA2(HV z^!EN2zR-T-8||6XZgG*DzQNLX%vI$>l_n#dv_90;{=Ln|J~I5oCx@T=EP$;if4=d= z&(h^9)TN!*UyE0-HVX@8y6~CL4jz1n`%Si-u3gjf7bho9PHx;#&&=vzP?D^o+KCHw zy;yr9OsDzgwHt39e|=}?^NUNpCU`Q<1-Y0LVU}F9SRuh&O~jJaW{#qH!nmjt3xo`y zfQ|aKH+0kKcCYAwoFhqAm_56?*bW=XuYemJV1N)65pmAJx|I}W*u54oJ)S%Wfw@t6Nyt=fo z5Ij1=crt0HZQZLj*4ndgv?XO`P6rq#qEAjf%}c`)tL)AP-~21gQ2Z zH@`BxvT^P86R#Yxa|mA&g?!_<{G__=|6EKK_K%{e{o{#^{aL#;?A*`sq*4Km2fg_)u8g;}#c@%grBrZ|(a( znw&fXaXQyehCselwH&*B^=n`6-FI(ZTfg>?{!#zohZny11%K}`9M}^}o@L)6MIpV~ z^snqac=Wz|_aE2?0$Z83TZQzVyY308f9980$K$L-LR42FYMG|U;s!M}0kKdvt7fs7 zlFc&JNE4!+p z(P;BK-_gy@xzB$-96sXvb2jPn&Goql-naa@&kY}a?Bd$`=$Yrj{(W)GeKGiNzzscUu>m7HVr`}Pb!_;ByO`vFkX_+xj<$|?ZsvY8czX=ckom9uUP zdh2`l-hJrco`r?1XvdRRo`3GtiQ~WdTfe>{?>%|q+9akXxZqrywN+y$gE~}RifPs? zL}8XMW;5VBA}3^zN|*}7`PCzHr@nFW7eD^Vmp|~}z00dp2swaMb7bA+m;YMMYq!OW zU7)U;{PMMY{dyVgEdKUa+S6}uefzrtx97`WTKMee0rU?X+?kt?H?B`lzE$tpH#&WG z{o8-O{p8Oy6(52dG{`2(LeiqG=K3zw-RaYQ-(DD&e(!6payp%ko_Vo*`#c3HD5gqA zRBRmT(c;qF{Nk{#OV*w3(bG>p`RYqA{U83%|9jm!^vn-0SB+G`3%Kn%cuUysP!omOLe>iybLo>%O+3(^#fBwv|K~)PW6a->OR;U*6zrjrXn_Lw@a6~L@ZA@z$Win|VcwqiF zesl1V551EzF!#ZS%V>P*|M}mH&%GVy=VLPV!B)(1b7>Dt2*g?Z%~xSFT-{E(aO(LQ;vU zLcGw2_aPNYmYlF-*A*l%MA(qcbe6F%%tSm*d4Atq-AjM*KmOD4OTYZ=kt02i4jDq0 zTGq^G&PsvQJmnNf=4O<(nw z7LM+nZyW|F>~fnan_eym@s8 z_O5*XGrg5nUE6?TbHYtCOEZz-VEEqmrnQ^hXhb5JsQgMlCPbQ063lWt_Vd;1m%q@v z`)(lbyzZM^W@_>DJh8ncKwp*l#v$Gy62ZcWaf zC$J;Rw-QO8J@Bl1r{qU#Pzw^DF*I!j5CIXa7W`!%-Id^<{ z|B<72-F@hARac`9Cr-cp%|HFtd*65LcfR<$XI^mY*LTFzu#wsQRLCxTf+^IQ_p34=*6#S_RXD?iP^@!AmnqDq3xDbpe zMJ6joRHza#0750ZnJ+;|$^Pwj&5WcT%oRf-BC}gC$t{?NI1}k#uL&{D#UH!v$bay+ zh7a%BK3Ul_{KUuRKKrSw-}vT@Kl`(OuW6M!MIf-6OQq7tu-TiQQaf$8i)QUynRqW@ z*b7Z?I}u7&*VZ^1C5$3!hk*kdCJ|<++^&Gi9FrHsM1`u`?p*lE>pyt%yZ`dT&ON-c zC#F1A9h(XZ#bRn5lQTF56QHwXbV|q|W(eKVSIlG{v}@N)n4#hrO!lr6s(@xE1_Fd& zv%+pOVLQMC%|?#Hpst4VXeV)fQ^A^(GUdtCV)UR+sT4?|l5E4*TMNs>)s?}Zr?YL* ziVzJ3&Gv>~JUtPD)UE|HS-+CtY1)-8nHLNKs9+jlK;==pnShEc5XOo&(t?D;_bgrb z$%!X__@ghr=RJ4K&uyeU$z6;clMf1J7{d&X;Te|Avx#t5qA+{%rtkzIbh?Y5cLk0h zjIKb)98)SZ6IsOq#~?<@5Qgz?ivvm_VF;`D&_KE?((4{d+)q=&&o;$+JsA&E{(Q!9)0xD)ulskpS+$@Duk>yAFTEi zRoYYnTdyJlCI!*ZRJ-r8BLt^8XWNO8l4{r01ColP+P2z_lC~{-f9TU`$0TA8F z?I#o>m>7&mI|#@yO9GzhD`4-G(*R&X>?KGhn5mFA^BD$$f(cGg%#yLA0F(xT2ucm>vhM>&?%un!Cnrotlc%2i#cOZ8{s&+G z{R8#=+ZT7XCJNAeu%4%#F7L$Bt8C!O6zfxDpsuX;)J2S2?8ah52xd($xE^0wySgm= z@dF3<=dv`K423e(}`F*I)ey|GWRJmyi7Tt>a+n2VXnd>2g%+Ra^&6S-S{N z7*tM#CS5kOL4C`Lu~5ylvUi?`^5oM`mC5v@AO29--b&fTRoM`LN;Acg5QH6-Xw1ew z79#>PIM383Kmo&qlnRllQOSl*oQkW|kSVGrjmnuwtP~-4;*kavjN0%?3zjFR!o_KYA1taD-GN2SGo!6+jD=_aoP1MH42ukFj14>R!m6T|%oi4VmBM$A3Ot;O%Qjs!ca8L}2 zIRfWcOp|yq^Cc??YCwhn1*#MQEuai@WCqOiC$suhLK!(*2H=cDp+Id`3}6A6GL>Qg z#7W(&Inegb=-lzmBYV?Aub!)Aqs!}UtSdiXiKy*#X5<$8)v!k!ZQhDyzVB;6v0K!$ zDYm=pYVRby^4v>{#||F5?>?xZa88yB%!-v#vYKWh19?f=#SS_%W+kPVOhIg*jnQZ{ z8Vkgwmf}QB4TUsW*RrvPxKg;JqNM{t$*H0!Vn$YgL?JM6VFs&G>70>}Gs|^~P3pw7 zA`1pn4W$HAfa(~#Aa5@%@m+V^bM&@4_$hGX#*H(lP7Id@_df9c^~-UU#{F70yD}{{ zsAbVfF1nGj6E_SD9lv#9ZKrFSrngcpoB7eCI73!gF)O(sm(r!}t)0a--d5Kub-%9r ziCiuKC@aPZ2}BIb<~TXdC?H0LZBJ7+WdRi$Pp6~FgpA0z5aMi&WR2q;H3oa6ZdRN! zrKqYfLr!Q79YIYDfy{9X&YWd!$CAmxsm8f(GC!Gcie6Pr5tF1=N>-(&ZAX=RW&ggt z_ulisy?69_y`Ay&)QJ<{`_n&NU0wdnM}DI&&DPpxN4nAGUL`9%PtkU=wQ7A=##@(f z?p)c*r~~@a+Z-j~MWbq#l9`LqViSVWWSU(g+ZwOzj8+E2dcN;`6V%U2(x@R8q@q+( zE}BhABAJzpP@$B>nowxYyV$P)kdi7QY^ENvr4=Y(L~NK<5Hhn_Wg;;oLROMQW>%1l zP!cR9vy^hlMaa5>>oKPoQ;8)J_GW%@aXx8co0V6y#z~_dDj+st z(5_HhjSK~rQAl-{0fs>pMQOK0jR7Dt%~}*nMld3UnPn=L&59Q4%v1~7RJ6d%idil> zmr{(3r~s6T-))X4RvV%r8TAFXvEFspo!)s;NYOl=Tt0h2I$B*>d`Wkrj^+lk5ZDTh zBGoROx$yjztFJ^Z2k!2F?tw3S?Bfqppm94o{@NQu4Cm^*XG(kXjIrV3#jTaw=Kt^y z{^-QbQ$Kt8jT_f)PRIJ*V=}dt!5-ekytrAp67Ri-C!47QAp{Zu-KyP!cMFbD*@a`N z5D6)17qh7{XjTZvV5wwNGqqI2U}jdOPR)@yXk@4wr2^&MB-Fqpq-}{p;>0IHDjI~B zhxKrNA?MOJbmX~_k8*5U;F5X zJ_TTHYi&3fav7I2E~<_Y9C9(+DS+xq9ggllcx8I^+Ldcp&tIVJcBwbl^c(MdrwKHp zzRAdp9K!`R5>qCy7m%PB!K@g_Bsh>WH8o=+;lP1~m0|21gaC+{7_$tlB4#7A-IWK- zio)#{rJ5BLfvG`fZYr6THg{&m#6~EoOvlqpm#!~GJ$R@tOgocNO6iU}kHpk_>$RJG z&eG#p?B)cf7zTw+A9~>ZANh^%z`12oqci0~~?~DKw202Gkaj1rMH3&|cN{#7<_4PMTojLXC&wu*R+ygt;c50`|FmB<=nhIWM zEAq9?%{)4{Gv0pSp%2`3=UraR03{n2RLngm&XCoN3>9k#*dBN1pSt|<&))U<_kXIa zPcEN1|MZ(rRZ`8IKUnZY!GSAjdV{7OGD#Jr4#LD$Z_pdeRUy>PoUdxJ$S!c`yQ&Go zfJRdycrp}#%!FaVd-e_r>I)jjiP#IAcPR|13gTeIeGYvJAOu%??}(!d;zLamh!_Sa zvExjo>Q!0O`puj5aN)_PfAPYLFZ})g?C%|{AH4cTO2x(r*|6BKXN(f2R^7PSojCpS zg=>HDyTAWCNBlq&Dd>i?u@ra)2{8> zuFEMxQ_4k^f)JA#kue45yi~@%soY$zZhHNuU-`QBVK_fOm|q;Ysy}Gv=9^wqxu!R) zdxI)?3CvC^S1~id;9x=|5OG?p?REw^AAjrBw@$vbGT66w{?J7_Kkc+|X)38*HSY2_ z=7m~5dH<*HTt4v4r~g&g#qrL%ulIt83kHIkF+(a8YzCXQrlNy^_Pp(E@7&m=mA&%^ z7Y;1Ug;7e*nHTCZaw%llOPR!Wd)yUY${@zlP9||WZQE{=%5=PUG8#=|o)(QU$MIyW zrFa22n`a11$xH?|vnDPYLT2cy*dLF4@ znuytj;KdDGp}x_4L%yNp7>C(zWZ?cgCA-o=&Fi*7{aA+1c7!pNyudOXKOd?ON3WF~{DsGb>7t z#e34DhYsC$*9SIl*oDcOB3FSM=TLambs@NZC0V=m@z&;Kvm#X9EAh;#&aCS+>h?6v zG>RE!Rf9~JWaL6~jbEreKy8kSJU^^NbedZ$==mT)cDmT5!bG)DY>^5eAfm2A9>J6Z zRC`3Fu8?Q*0s}<_3)P+~wn?(CV9=O%RMgsJ;@~}yb$g<*)N{R~a}A-<{=PeV0~#!N zHA!kfs(lfWLavC4S0^*Kf&pbpDaV)!74!$bwDrYb%9ShEUEtc)lTy0W^?azjW^K2} z)^BLo13RQyy1N4rtRQC8g4)q8XwO7qNCmlrlUy7kXH#S0$~y;ZV~zn&1+e7RUbyy>b56;Mf_1mlewRT8fo&_g3>bPI*)Yw3qGEH5q*MSWXdS5*E$YRCEo)Al zGPtgN+q#L6cwVe}L+@qFO~F-F^%@tr6k{XT^CXoh!AvV*VN7#JuDF_Dy4 z#wxge9aJ?bic%n&@AnjCTDsaxQ~5Sq%*?2UJ@kTGQ!WMo4%qc_XKAhg&k#jeZnL!o zjl-}4fVKk>SG^#Nu4|{sn#$L~joQ@4?1blOhEp5t;uf3C`+I5MTtKe%v8+DqD03j-BY7ikJ?V^q*1(04Xpd5=8MeWEtODJtDOzg$w zVo9~j<^z0SV<`n9;+<2SnKJQI)F@_viemz3lFfkNAdXd0X36(~RCL;QK1c`xE1r4K z^eV2jUqbCmX~|;aX8B@dwV)?dK+{ZA#8-|zP1@Ljd@V~(wx)S~6z6NMgL96z$6YoN z=QV3CmW}LInVxZi0F^)uZH5vmz!^%xG@-80cuZR@N?s^NF$&~6^TqUEfz^rlP z7zw4z@XQWQi%i-S4Ir+(6|$_#f*_9A#n_2+!8=WDwgPsQcTAiMqEgSJc4#xq;F*Gl z3QZNcXy4JW7iwwZxVw4vie=iK?rd&vI--8%dSOrdLR8{S~7$KJ)1GOV^ z5;GJuSM5G6Cb-IiBQorCQ00|5-w!+;VRg9w`jv~{{@$O?&+Xfu?%ce#G3+lbF6?h- zA0DY|4n5tuHtO2WEKfTqO3}!6=d8Zn;D_!95Y3=aa)9` zU-PyQLmBKs4d$epatX|yDO)K@Ofq$t@tsAD9f??pxfnCEPW48%oymB9u!?Bw=ck)I zF*9e2y|7SJudH2k0764mPbYCSo$NSFr@1SnA`}d5_AYtLRtuTwjqSFm3_=(NM7EKF z3uw02bh}S!RzD{is30(y&}E26@R%m3L5OO?G|?oM3aP1-1?wG3ffG~}#)d8d8N+^v zg||knksCAt!2pb-j$&6iNnMyE)MEXLO+qS?N&&S&Ji~R}RK$fUZ0fC#P0T*M1Z}&v zU-@2eH^=RCssImq%}RA_+LpF!dzJ51u8r+@JQ|I*|37-{VWUl53c3IQ002ovPDHLk FV1lLN{09I4 literal 0 HcmV?d00001 diff --git a/assets/shop/medal/BookRedT3_3.png b/assets/shop/medal/BookRedT3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..82097600f5f3d26afd5a71c1fb7f87be59b5a13e GIT binary patch literal 17389 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 literal 0 HcmV?d00001 diff --git a/assets/shop/medal/BookT2_5.png b/assets/shop/medal/BookT2_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d74b88074932e172939497d827bd63e4cdda9904 GIT binary patch literal 15830 zcmV;{Jt@M8P)$z4uxk+?NRyt3${G za!=libMHOPI(zN)t#5sM(ZBu9n>(9ZS1+7z8U}E9G&|Z~EM|*RG75nK1`0rc007JY z01AtM1KKAa1AqYr3lbekn_Fc^?5K2R1t2pciD1#(26n=}FRhvq$bdj_KxuZhMIWyi~A3A3z$CLNodwAok!}= z1ThehiP(spAP@jM{bK+dGY1!lh{-%tF=Pcf z7?~-k5C9?qTdz=~=!{@$ph7T!ZFMD51JEa=q(q5e2B^Wacy_J{0|3W|%Rl(Tw{F~+ zG}Rf-i^fOcCTXXokZ`Cyi)blb*NONL0{|z{k+Y|dVF*G(no6IESwbbIhOWQ^!NUu> z9v)~Itdu~o;>CHW7_|iz!7)-nVKATiR{=URVIP$a<>b9LjbmWK_h6lIvhaVp7 z@6WDX+V-Jg@@7U#&U+V~ct=dk;w6|BST;B@a!g=exdRwX1S2>fh&{70R80h)i3qts z1fC(Vq@|b{jD$_eK+%C1MgYN)d4dBe%s_#K#R*d|a>C5w3fg2@;f0Fk0u^yy0ztAW zS&qcy9hi$1Fni%3NGfW?jHk;(WM^GXY!xGeiQ|62Spj9^&90N`e!0OyZhs zCFPb_ToqgtD{5-O;(aW+O?`qvQ3@3x5HS;!Eh%8c;vE^x`fLhvOiWg?X+aDiP+zpq z393wNu&gk%AjpPZ!2}NyLow|EBZ?3PK*|uniWL})DFdXMb2idp1*4o*Qz>HRnT$D= zk~I-QQM!!2kbxY7REtqjc$7Y+F6GQ502ec}#4x7FC_pZ705qethTH{lK8(7oITvCM z!-icjQ?t%H7Uw%vkr0CPeJ-X7veGv`MB%RV8O#zQtQb18Qq(z5B=fF|tc|Cf&>Hos z)|EiQEN$+E6ioAi3?m@GlzmImmY%_0xX;-+IFH^y1U2-+Dm9jt3rvyz$l5Q@oi**S5QXJ$$O z5yUfyT_MUPF|jZcmuy-T0GtRB=RONFF)#ZTP%q>G7fhy;fN=2p&DQnTPl!ukH#k_%aqi>4geSs zKw-r|}ZD%PvPNX<(CIqR3bhy@2yB#@f*UH9d$e*Tr$#{c|Z z{O{lS<3BsxKQt}QIT6?8&R{U>Q&KG;A|+O`qMfZiLeiwgENf25pla6jeIU=ovor-! z;9$kbNTI2u!bMmjJhLd3UVA3-;tUoz2uWKyAqnDbg{;U>2n2}15X6f}XPqV;)oW)j zUHm)0`=7l28*hB)TQ`>b%NT<@MH;GBI_GFGXh;M`Ma??~q-16?VK88;xMB#xCP-{9 zdefYX!ctKhkLxeIe7WoH{r>O2{o&0wFJ0RB>Kk9^x}Jo@%L>z&S=P+NLSn`2^acPx zNsARzLxJfEJ?QGo1a5On1R)1KJx|fBWXvSyh)Kyx$wVwHFcWr6luBk|#{z>fK&RIN z127?B7V>oW-YYbfBw(@$#4D6@BD-R^dG$O)i?UKFH}eLr%?D``gnN%;lKL*-+%AJcWNI~r$tQ}T4_L}8uYLZ7&pp4o`jb@UuhuYFv9g>k+gZ!Zk9Qv( zPmhM9!TM(Hs!mHsIS1%d7c*!v%fwa%(OkORImaMcW$#2JEJ9L@iYhyRk=0UxWAaQ4 zZ0@WLM&0+m`=?Fa{Lb%wMah2oE&k;WQ=7H3gM)+l(cJs6w|`JI&ENUEf4^BD{ou!c zcIk2*$j_&923A?KY3?gW!^)@B_nIICU=n@y2fi7ydF0@T*4Aa(r~$_Z>Mtm`qZS>(^fSdw>5Q9vv_L^&kGr z|M2g=`ucCabpPmt0hoe}f@83>g>o(o4sNxq7zzRh2B(~|Wg`fYkO~zh5(x#=T=MSTp^Mdpix-e_<-(Pn?MwgD|M)+@{pPoR`?sHC z0K`y6uRuY?RQYJmwPq!ociz>$(@sq*S5>YO5(CU2>^wWmoi|;p>+P-P-h-PrZ{GOI z8*hB!l~(~cI0pY^o8sq>q9x^o0tTDf{AB7}9Bpkc5-wl4_JvnIfB)fw#}D_KIQj$! zWrYZ$LxJ|Cm{}dX6DTqh%af;7f{{6RC>N60R06AOclP4i&5wV0>-Kjqp1)eOeDAy8 zBM=x0En0|3NKUyrGR>;cQyO(O%l^Ip0f@=LDRh-uDBL8SIUEtgy>i3YY6!%A>M4nAiy zLaZuHeF${*+WK4X9p3!tqt{=1BR28&z1yC>kQ9{8I)OxrW(Gh_yV98%69Yf>sGkh_ ztVayS#6g0Z_ND&>PyAf(W`MwjsZjKh7_&t;n|B)<kXFCFe*WxEjkEW?z-7DHBG#Fb+Znp*}nGm zuf6tbuT7`ZK^%DR3zfFCj$GuZSq+wvmuV>^Q6d?!tQaHHRSHl50WqP#Xhm&9{#2JyA5Ut1rGr*I1PmWO3lxgL1sV&1%91QKf z_ue`<+#3#u$CKl`ckj-ov$f$GGpC%2m0a>_%8Ul1;b<6Q5Rz`$O{ddkyHrz0F2o=~ zP++jEIWMzwE>wYta?V9dkU&gE2181zXbBuxc;&@eGl2pJgB2=7lr|D(V2x2eDQ;mwDixR}8JViFbs z!_>$JAvlHs4Dze8gi%r=F%V24Lf5WsG~>lL|Lwoo+uy(X%+>ebe{XkpS5@m+n_A!X zL{zj$kn#F>XM1P6-)@Etfu<+ZgX4p{_wP&m|B4I(K#4*Vs$u18pL<(o?lXvpLsdoY=l$-ZyAST)nNDZS zk;$dLKb=9O@O)bIA}fyI35BRwA(&$WG#iL5uzDaFjNqYEY}~}+<=%tao7)?gFI|Sh ziF4lNoXw1cxbV)ooflqwVZ1gjxf~oGfU&;5?!5<44{H`acmCYY&d%yF&TgM&;Y$}U zHL(G3`{r#edinC@v**u_Mx)tecJJ}MDpot^cSdU?0ORqPlm^w{!r2Sr1;F~+x@XT| zC+^fbtJNnP5ml~=9NN4%?xse(xw%yj2Oy+e4j(_F+>M%QfA_ds6s#CUQ;JPp&C>MBT(0M-Lj)0iCYza(RJN?Ht)Os6C7p$;KT(VoH>D%l=mO+1?P9p zpKF@hfRp9&_N`mn>uYPH&AYdE`?d|iI{+k5L06E%&_@!p6?K zo%1^}MgVHs=GFx_7z_aHKHUA_#s~As{PLyC^{`%@At7ne=%ROibtGF>)lUO=gU!2n zm%3QRry*Wdo2D6$#~C?ME~dwOlWI_%KfmRi6ySJr{MK7wmd;ax1AGOQbwDQ%H zR71f8$L58^1tJ!p@jf~Nieu;5$tj2JMSK-J3I!j(@Wm?!laK%1xBvL+)hm~;Ug=Wj z*nyBVo!(Z_wrjhtdpe;u);FGe_PMiX&URh5`*@c?=gys5xf>J5D%N!kpj&o#@7#U# z=#h_pv^H7+9EG-R>wl4-N@@ z?(Er6HS=Y8aO=Y#|KzQ~sQ&U7e+`AZMXF+anyex)f`A!?n29UqN<_$*iWgyGGk~0D zUpddtmxRW<*IvJn%fUN8etYM_&e`*4Q%b_JiWg?a#>nW}Zf|$*VE3TyT2l)#T)BGX z%U}BP3opDd8jaT0*0#5|MPy~ZDpt&#b3U9L9vmMOEoaW2SzlXUJ?CP!n4iqYYvYx> z0a#2I^T~WT9zH$Nw(arJu@+_isYJ($dGD*LVz4F4skFIw!H)-PF7nCI;r)+qKHhs+ zOh)_9;|tuxt!*-ZN8| zN}p}i)WfD`At5Z<#nJS*lzepD-G997GkYJrcb_ndU{6W{Ta|Z{5wS2czy@P8M}Uwp zU|=F4>y{_CZoNlTp1pp(uA5T`%YXugVr6Z8?cBL@gYf{2>2!MM<2w%S`R7iV#=5Sz zHn+y((?^{z=WW|=4mKqSGdHnuZ~)de*PhOfU}!uRni%eSICk;mP5{Z$3QQKeFpaM2qF(@ZfNB^EA2vI6gX_OeUkNBMCyF zC^2yG;_GqkRxc7*w2Rqt7V1EJIy;u_a=x6$CdP2ODlNO^WIj>S)42?o88e4L6{2UD zI6jv&8@pJ%4d)?cDHtZ+`Fb?(T*27mQ4y-uaYL&Y3{SaO{X^Hklnw zjt&kFhQnc9*UN6%rEc%>-s6XleefZMqNUeUrl}+V8M!N+L>aCPo4R?rj)+Rl zb?xh?M-r#P<?ZlmtGn>t3GiaE3e{cWJy*q8!p1F8tFdpQb=iU7H z=y-ZKold60(spgzwc;eiaCC5#yPVq8xBcXJVrKX5-y4hveeSK;!R|pyX>WHgwJB?6 z;m5m=QdKdlag$=oTj@Ctcf3W|QNi<8IOI?e4XUHszF& zSF>RE@$TW_Vd~TDc$Q1{wSTn#$ep-SN_Wz=%eId7Y&Od|r=0rI9~~X7D1lF4kr^@7 zRb9DQlFqu$tc;sbH-i8y`~G0>(Q-Z~xWmJ4J_V^YQU&p5dYX%wSO){UAc3@)nXwte z3jzZfLY{?Ty|IH+3DY;<{zf&Z;sDzo*#?`%d$KiDM@$V33foFs+DivussYwYeps=prl6mvdvwn!8!&ozEpN+vR*ZXZggx0FaOb zVaJfLNXvVVc0Kc@%NLp|C~!16`SF`?pWiwE#aF&OIb3#gtHX$VFs3KDn1KwQNMH;# zF~{P>gHH)eFQC%`kk6`3pZcSS6DHNXgW4$*E1Nq=}hTwREK~z3Hh=0|qr!RbukuS18oX96Rq%%h#r+rk0JA zh)9C4=cg#z%wmj9Q!~R@dX>F{lM6drJLk^URmh6HM~{B|qaXd+7e4o!f9)Ip^8fxp zyU@*zq4*l&U~m9v1r!~!=9K!%lekkgsUtYXCuRR)YLLL|XTrhk!HtjJ`+M^DhxIVE zX*G@U7s@>JM5nsaQ$9r{1?)H@&yHua`OHUu_Uzf=aLC{l0cdJ{>W$4{ecNZt%YHf8 zo7AyhTVE?yoOjMU;FNU~2>dDWOi$kC3c#po6PmSpomCuJU|Y;P=CHoLF0pEtc!z;7-J+5PDLG-a|Xd+B^4!I z_RGWF!+Uq{O-?3NU7ZrOW={mLr+oA2ML&H51|NJ=*Ua2@ecN?jq^i7+E;#HTF7|dG zPp8MnhttVnN9rrDK@gl|L)WJ#1}cWELSRCl09Xix7{$29TPzj~e)hR%zxd@Zu5YaWoG<xrT7oue}qDVSb4|7nzNRi zp5|g^+6!_JA|oq>N*_vJL4%M9MBvFv%9o$NcfEuO9m|{z^@m*?Z5-^XXzSTdZ%bZEl}oac$}E z-udw8@$Rp^{%c#?XYSs9h-`H=a&C}HR^)gpe=)#_$SJreJdrnO*0wJ>n*c!oSTS-E z#v20)>8+o~Go(;xZJaHvmRh$$(FRV(x;I zAm~f45GOtY4h6-`ocA@Gb<4@ETlXK#?>+y*3s){*>HFTuK5Kc|KH2q>OKxH_Sc&{6 z$M3%T?mO?kvsf;grZKbC1Zh*dzOnwob1%I3+>2FHrIha8x_fYRz!m>gN%ogr(3rWd z>kxvPS}H{gd#Y*~)L6{Q{A6}=bh4ba%O$BbBm*l%Y9`bdV_WIj0T|dQI`Kk8U}h2a zY(b%FT~;e(r6-52b8A0%|A#+%|Ie;myz=aoXBo_ajV+ZGi~mb+nE*!034)6kE?zi) zVRiWN{^PfAy#4s`1c8E!yo-0DLPhQ~Db~oq z5bvY+A*cLk?~o;2x^Stg>H-|k=C^O%84rh_d*O434~`EW9(WeVA`nrIU=PRePhAXs zvDK^cfYa435)dH@f*F(B7!J=}-6m%zM<>m&sfTsxi)LMwRuZMv&aYqmLV*I$ez9D< z_uhLavy(-;xN`AIS|kteoEuaFC}xY<@#NS$|IF2Au3x`C9*qIa=kq)F@8mwm5Pk5U zB_J4#orK_n!8=M^?mgNKad2j5+j-Y2b|3Hl=!b7^u5Y~d>Q^6sn7c(AW5e2|;)$b2 zr_c_8ak@xbR(P`pFrX`zvJuRSc`_y{SnN+e{^5`Q!Q z;$ka_t9Ut?oZNW##&`bgI}aZ|95jO%VoGUxGF_Z3E?&6!^>2Lrjjz0M>C&auPao|* zy7}HsAsGw?pIvh#PJHy@NQ6}N_~=9kXSUY|vC2!mfA7Jc|M1Tt_S&njkqo+2#Ivyw z8*@=eF%;`gb1@j05Sb$J+>k*I6da<1bArgDaXgqm`d9zz+b749H@^HvQ#C0kb7o{o zQ_}Pc5zwbq83Kd(=(l&akug1;h*0E};zV9`wkA5^7z5eCbUwQeJ)h~*cwr}s; zzH_j5u(rPDf?GM}ue_G2`N~&KWkR`F>D7wXRa_s9qL=x6d3dmQ@6p}K{8=Z_xj<5k ziMaBP3AwdkP@#P4Vk8IxbFLGwISX?T=biZ|zII&O^%q~9EH}UXqdz9l_3PJHndG1v zk|$x(mr_CcP{ zN!bv+cp+D;nDrtYe0)lnL4cg8&FtV}@IE*qBOf?8psz=9M*7k1k2W^f&s{iIa$&Hr zBugti_VaK0XL7L>ZgS#8guy|>WI8dnS6_eih38&)?%C&_60DCNJi2%P-opnEcOUH< zY=yb(mndgHeJz8jMIVRFs1P3>&n73!t?lit&8?M?>hAqJ_wL`l{_L~0U%UDKqv^8u zGHf_{;%rn3H!KFq<*CxXpky$N3PNxpI1UbKU{R%L(I$WuZhZ9U(T#U*y#N0DZQGvTIX@bV3d*Sh z<+EIi0D=#piZPiUA5RXCPR^e@e`a$tbtom>c=z28Z{Gak>#tk8asS?N&N>+QT3j|1 zGXgyOUajx#)Wue%=b^JvH1W17-FSwhQgZ5Z`uNtPM@RRrUc7eY;uSJ7Gc{e6W&S;e z!PvNTW&dFRwJ*K)jlcPg%2%t8j*gFh@Pi-RxN(D-n{l(Tz2VH2T+ID4>wFr88H|X$ z_v{#Kfv8(9X0zGz!z<&_AZN@@W_LdP=wohbv%}G&+YhUt-m9{;36--TSoD?v za`q_~V{@J*coJgI&Y1(Wa8l!NI}pd$;G^d^8wUbrpQjq`zqHsA|f|)Ev82;CI2nz{K^S z4k4JDc)wgOmy5-CygnE=eXCvH-Mw??-krOfYiFVk1P_LB$lUbms^FNd*J1=GOm5|3 z3Nm<45*=Iw!+VG~O~?h~I$nS2{6G6Q55M=r?|=D?H@41h^{HQx@Hywtf)9U=eT;I> zMmF9U_kG{@J%G1={Py?${Ch=9HLNaNxZubED5d<|RA#mCIp>Mop^3hVYb--RqL)rfTPzaTG2Bz2 z=*Yw~#VC$^c5Ee~P39zc@7pq+&X4=94|Qnj#)^TFE%(|3zY6~R+)*GVIpxFI;SYZJ zgAYIauXENKfh^f4-3)$aXi;%88jfCk{>3YouBhtdWOC=;o!fVBFPF>c zqeO90vX$M#DV*Cmzf%QvK<@JG+jo3$7cN}5^}*eS&QzgpEsVW1QRlh0V&U{1V8t1o zuK#94j@gqCaz-{(ku`VwlUe`%qpa!KXP#}EX2qowlNSAD@#_~40tri(yZL-R>u0n1 zY=3v($bt)lY7nX*UR3o|!TIxs!PxQo=K71zy?Eimg;g$64J!7$x3@ProRCrznkv@Q z`EqY}pW)7*J0B{SfW6&E-~aCSLabl^;#X(K?JUnkHU=>cy%01P6O)SFX&poDiTuUD z1afAAQcwzrQ8|p(+)_{e=v)79*QKw#@s;31pL!DdOzh7uFprsaeW#{XQ*CT)Y;A3= zkJksypswl|qlu}h!A|=w{H%4%H0x+Ix_0f_^=GexaPQH*loNousvSErVsIr@bg|@o zuz%#h=gypsvFiHt_~G5Re)xkJsxN-&tHOiDQrY=Y^qx2;W)kn5^In{fP8zo&%vLhs z2=8EqHkB`xyv(G*A9Dv1SF*};A!o~6Ac)3`D;cJf-M{IU< zGGpPho9m4PPS(w)yN~XBPZus+RBgyyQ@NzJ=s8<(E=UmdrcQmu<54(Wq@fUkW~59a zL69}&+++LPX2jy|o!gt+8)wg*%_$QR3tP5-KmRJFVb)=hn|f3Wv( zZ+bE%I#v1pvO!?Sv&HPA+aFOO&whJr+XsJieDv{0A9sCM59+3Am^r1?b-fyeSPh%n zdvuF5pHG*|*>ckMGY#T3lCW1JViG6L8|7Xra zL@v5Vdyft$hik*NS3dX3_Sx+&ceg*jegE$L-um&{cr+Y|li6&xn9n!X*EZJIiBS~0 z2m1%d2WNM7wCB4YJn}?THL5|Ff-~n$*^J0DSIljpd9u^G*a|3Cgb*xgGWASO-SM}- z_lGy{-`E(hU%7CFjeiOs(v#*Izr;pAor?kJ`(8vYU%I@~!~iIzJl=mio6i&q_Y2PU zGdW%A)36!7{L;&pE?u%@H{ZQ^@9w?c`Zl#2vQgKyu$&wnEvNIdo9jDU8%&rjar4&4 zj~+jK`SYKPw)OboK}wD!0^-;r85@>rb>%D1^EM?FcK#`02It@$$SfyS=y0=s;S0}B zX2(By>nG1V^X#R|m%7wR5GS9)hd*2M`U~Tyb1@=nyVhXOKKtzU)+t?ocyRdfM<1`$ ziN6pqe5xd=swt(NvpcVS{s@&1kD>9Il`yXaz&z#_yro-YpP z%e9S-!P;P%bvi%!;Dh&WeRTW$&ZVu*OUsUpd<>zkg7|38!EnIluq@`!{dhJU%=Y6A=MJqOfOE&8DSfA+AFm9a5)h zHa|MpJ2>9YeIjY#qT?_KzK)^IT8jn2Ji*Lr0R_v3r9J_QrYPmKOOh&bDhK-q?N1&| zXOo?sbAx8!oKw@&Z8>Iq+M4P!Fy~LxNW)5qn^QhIIGRqUBviDl)Xe05DV6bL@@<{n zy8it2Ygex^GZAfWZeB~*_Tt{b!NIa!Mv0@*sHvM=%6!opXgnS@gIa(-rTKJbrfRr# z^N~{<)lyXfLW*2DCg#pyX2M`W2GnpmgPtU-SS|HAQ8OCO%lzAa`t9jt`pQeM)Uj4o zV=JYY8iSxl1Q4CV#ZR}3`qUsIUTriZTNT=49jj2S+AFNKnm3^#M{4>jk!L~KKD&M8 z$`xTTH4x67JGVAmWAJ1;$+O&qW^K4OYz8Uk-Gf77fByVt)l>>hCzFppx;YvRKKJ~~ z_dlMDLf9BqRTIsTS+2crjoM`9G8_<3yT33<5IqR!3ySj9m#!?x{nLN>_I!Tw z>~B18WF;3eT9gGtyt0)zj8C|hP?2Z5HtYRnFfh;X`fkWTe3E40GSi6c<4Vr(Sj;laq1i@nJ1IU$?U|)Rtb=IA%sxMb+P3WO?Z5r@o3Fk0`B#7KOW*s}z1aZ+VOYm1cr|1)0X#v03=mlrNDcG+wDeri z7X(KRmI((35B3+g2ZQ?Zw0Egi#RR&uptUcG9~xS^IJc@_4Zpgf3&@GQ8~W%;aze;gqbV@ z%n(`ifN?@mstT+6B7Y)eTJ_S&8EOO=Stf(RvL=NQnXTI6fMKN+%?dK)f}#q|FfC?X zE-)rTS2`$(aV{lW&L~BRC<_XRVbG$fBoYdB;J}mV{P<+Kv3+)Pb4v`AuzP>^`0(%x zpMQDOtlj$Ho~1Zy2ClA(GM5sZIiqaGL@b_&ie_dL5yziukHdtvS0#7-`JEr%TD*7T z!{PengOmR8!ELbj%#KOfiK7_FIUgi=3En#pfhagnLgdIfAB9B7f(H>3JcCya866A| zq98;J1}Z>}k`WQIQBja4CIdJtObNP5eGJ7?PJK>EOH#73Bwd<<3R}@Ob))g99#lTM z!^cPa`zJf+&h2b%aY8r4jUT`N;O@Qu;IDlx&#Old_O?dn#??^5z;Y2XHYzY7axBI! znJQTfL=ZLiWWN|=+9NWmXvQ|3&bmc+Zs+plXRfETbOZru);?vhK`f<2N?P)~TPCyK zkh=sm15!$>3PZ0+V9t;f`Xuu=1`9<5W+p*k3*L+KX6Bp=A-L5t>%Ak5-iz~U>K$B# zpl;03u~ReewneD3URWGC&BnsMa#f7e`Qqq!`usDOw?+dp933CN^UgaT-@5(lUwPdY z&8^84?2TLy7d&^FmRW(m@e-V0W^)ofH$+`gv+{{X@wB)q!eHNZxm~u*er;{bIg3Hr zP?DBXRL#sv&bj2AQc0yNxzkemyjpN`&ZcUxY?*cSe#opq3qW84t)>o$iZGN&Rbjbw zIi(`r)4U^?=M}pKHUg1Sjb3AVP)>6uM zZhw61gAeLBaJ)s@3B~AK5CRwkVP=lO*L~{l?%q5;en^(R_d8qHw%0CyLfQv`2--d$ z9n4f|FlbUgPm5_i9t;KpCr(#e(iKo5qGTzT%t}Rb(R`|6J*7cTK_m*yU}C48_Ke7& zpw66XK}jI=DffLxnp4u0K(N&JDW_g3<(&EirBZUQeP5ELVwrkC8N>z<3dqchF%b-f z6e5=|pC69b!01a}w)51_Q{PSwmJO@p@WeXSWh0{6Q&AkB9PLl;K0NwKv3+Je-dlLb zJ8Ks|+4W3>1RT!hAHFxqZN7Br{3vQayFa(#`o{BhHO@)RIxs^#%-m`60LLaUlvRi! zn3;G$kUCN;rhQJzg$U?DO2yRo$syY=52B@M>Kq-X2fXRf=We6Fw^%+7Y zgtkDK9HTD~BFEZm@(`#@x_0O6)-#tcH?f-cn0D>s-H!(&xp?{V0osIzu5Yaw@V`F(QVL)FP`M zq${JsY|t2i6qdEDnrjr05|Jr#0jUvXeG(1J%JSA_g&D890b4OEE4XP^a&Fleh5TZ% zFI(hWq=;L{}+iV^G`m0~~ z!mBTS{p(*V1!v#-{_)2;T})3IMN=zkHIY+Hj{A$}ub;c>|M~y%FK&Hw`|Qq*YOu>O zupovg9Elt`A{2&^i{7ypHbg*0bfqU{VlR=Mu;U<}Nr+B2m@sj0K?nr$;#TO#i=B4z zdfI>3aO$)L04Xe#PRmM8k9^u{!IE-Oi_U>o?If*REcSLEpV>N#TpmBX|JGY??VQ>A z!b@Md^^>_JA7ntN97%Mjy?g)Y!H19EJbxL#`IRre@s+>6vvZC>dxyJ0DnOV0;*=X) z_3m&2A{L5&{LSxOe|h~M{Wt&UpZstC>;LfI{r6X2d~v+7?wyM+MqkAkU2ub@84dRa;D^*i9?1XbEIYl=S>8qb0kijqKJ1+9J0xZ zC02#==147hVe#I~8m@`B%Uw<4#2G0&%Br(@n(Xf`CI@BIu&*Yw_9ySYQ^zmuoVoZo zezZu|nqOmIJ7KnIZ;Rf}Ztwi|?|kJ;UwmmWSkJjQ=e(JziJ-2YZiiA5rle(=k{5dX z;9$Bu3V!(V=f3=({}&z}C6}~JZP%qfl`>z>bH6-3+Ozq5t}qr?3bK}@Dd(bEU}Q;* zU~HyJ%)z<9;_Be5DoSiZtYhV3^mP!=Y|2JHR`vS&po)PwJ85Dyj*&&258^7KO4y4y zhznuiT~-A%doL~slvLr3eDuqlcbD^MHtiQ5-~RZ@*-O?bL!5-@d=tb7i)02H)?qpC zzWbdYeel7%S1(`w(i>mhSl=wCDKv7SPr|$!Qqj)TISxMVJvjOo|MU-k`#=8LfAwGf z*B{@$d9-^lKUthCCbQXev0N~ZTmKtlu|0GP(mrCP~j(T z}ORdkOY-W!ibn&|$W{jS3x)@zj)XI-IGxCwT4V`DlWzWFEb z-Fo!yORrsj?xmNW8b}LLTHzppG5P}MCC1p7&be5HD3ss+?v2~;-JdO|rtnT!vPh_8 zFz`$RubX`BLUsY(tM;uQH1&AoC3{~vsl-Y%u9{Kf$dfRUQch~LNabWYvD{h7NAtGp z7mN91Z+AE6-1YsvhYuH7J%@wYe7T&Jw8&{CUDnyGZBv_a>e?hsRrKD67`+Pt5}GOw zng}0)#9>trHwI=%ZTI?Xub$t0@xjAIPP#qhI=V?)gk>BYQ$MUWU%2}9&tLoczkBQV zT7JCRce83(AdE`zq%LO0WWvP8TD+$)48G-Xd~~w^_(%lo9Xsb3F~%yAbD}L9a}>{p z+?y4yq+;=%y50pJT+Mva%lw1}URlr=&8=xMwbCnf$)&_4t0x|Dw6&oz!F0Xe=~Hh; z7uq7Cu0|mV&N)KXq-F$zCUV~Siiw#;!O38$FMZc(p_H8!3cS0w+l;Ee{x|-5ceH-{ zo%y(OMBEk@C$;m!SY!kHt>JiWxUoJy`#3$qlP&GWV1f8gF^Yi!vyutsqpKY^rPFNY zLs@n8=}l9CbtxBB)vTnd&iYa`D}l(7nd+=VCWteySoGEx8wHqQnUE4WLKP4y%H%Wu#fxwkZ=6$?1dv z!3f2kxY$ZDmDPHKi|ndlm#w7Ed-a}j>PamS$YZtnFQp_R&dF>^Fba;yA!q8dki)=3 zfY}1uAYSdsgue2~GE`bh? zywy@HIydxWDqZHK1ocqc-Cve0iJ0fWUM&4S(QmJxavRsS`9HVk9?3cZEDOJ&uqMKsYBZv+w=ln1u z6y+vJ<){?P89`hVBa<$(6|?o)*TK#5=>~_@4oN0^A_I0Hk4OMq2cL5uR6h9OVxE*j z)nHJmFj=y;>trazJZlq7LqpwQ14{7MKWLjajU!xr#2S^(f;o3Qj=mefG|R!!nn|Nn9Ct%Er^)#*%^{ z3YL8?VinVRMWxWJ%bV+?Do}84(Pa*{DHw2RyE1F@Xk3H}ko&eYWZn@GK$_xg_+tOC39U@Ya8nT#_Q`%(;Rb~j2r+Ku(wQ_OD>w7a4D3t5jpY3%$CC{QaK+% z1lV{Gt3cUwHtVZctqoX6PkIR9OhqJURS9VjvpYl>1z| zCX`XbrfJzHAE|Z}#oCO%BxW7>*q1WvdlxXOeeH$Ou~=2HK)c?Yrx@XxG;5JmH(GgO zv(jlL?##FzHAAD2RO-g94JdW4O(~m>>dGhjxBs{bL9;$Sc<}nQzxDj~ngbBmv2&H0 zA(jV|$B#d5GmPK`j!^&wdFJSu2yJh<6d~L7;)u+sCjqf3+RluKo$ck)rc{6&swuEc zd7f+>Nn4ut=n5PeNjW$!vs{*$27)A5_C<}OliVR&X|ocn@8x76i_U~7dh4VVBUAB& zlb*VwDRrX?qOQx9Oo-W-CR6P-FS`;QbxZefMv6%Yv2S?qh?c#kK8L{m#I-G;y-;HK zZmFAceLmS=_KCO}$+M!>WODD6?%2AB^^rTecW~$7$8A>U5dzGhW?p#I#0jKJ#!6iJ zl>6g^;A~t8xoWyh%Puvc^6dIjPP&dznjqO#N6R$p^ZKZ!HXrrf?i_cHYEjT|O_>-v}FKpIgeMsIRC+iY9N{;)kLr&q^#uvty8HQzN gJ+b3%|M1rT2ma`Bxc-ZMU;qFB07*qoM6N<$f(9~%I{*Lx literal 0 HcmV?d00001 diff --git a/assets/shop/medal/PlateAntiAirT2_3.png b/assets/shop/medal/PlateAntiAirT2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d49376b9854ece231b503fcd2a2e3918d7835e13 GIT binary patch literal 18876 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
*Iw3V98+|c;Wo`D%A6O)Ee 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 P00000NkvXXu0mjfNJk$v literal 0 HcmV?d00001 diff --git a/assets/shop/medal/PlateGeneralT2_3.png b/assets/shop/medal/PlateGeneralT2_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b817145362cd5a3431389da6234c2358cc67f07b GIT binary patch literal 18581 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 g1`~Q7!f=BB4e#d`vn55bvAbp)t~^Qnju9L zC6rKCWQ=VG%V;P-+Exa#0~C#xJHQ@cyyRBQ?&XnVIZ~1%Y!G%5MhdDD3g~vZcKge< z2j@`+jR_zCxo~58zH#c+Y;>HFU@|Qt^$QRox0L6OEo)E;FgePA7?9>CmM{cXC<7Uplu-Cy5sL^C9ru25glER7NNOvan0*db2d144Dy=@PpJJ;7K>wP;Ez0+|Y#W-3GM zZme|fU7@whBcmfr^=`SWuQo1}u;QK~RcTytPSyvZu*e%0$c3LWHHzBK4S}aTPKd7(g3_R2^-2 ztlr(>Zrgmmg(pSIY^+#CN+GGsEoYoGApk~U0FZ*f#%0i07H!f>3Kb0$bVrSec8DR? zccL%78*-)|llT2SXBx>2^~*M5^fVICQrZo=nUK4fQS>EzdGGVT54S%3;~)OCy|?#= zcYk9mjh&6nW~2JUU;OmMi_bKN8voO+>rXCzUYS~I9DUZ-n(Dne0a6S;X>tt9PBV)X zwC4c_W{@ISc&`ZLTqr~EUUP!=8UlJ6oqFTTUKxrg5zcBVQ3R-i7jQyeAPW12H5a$A zUa*jfQH^7p5j!S^CItZ`0I3fq7p_StLh7Zcphy}>g<%5c%)-7CRn&|K3x&P}hKxip zKv!ZvQ7uW1u+6EX;1sP|k^Ym%_dom9Q1|h|(UaR-TkTHIu-jZ;O+HRfA3Ap8=+fb% zO4+Fw-}vg>mruTWpX(!ygU8^UCeN7_V|=&o`-O@sL4?@=DS`no5{U>=iXkQ?7)ulp z6B6J^38@!DFOsSlN+p6K2|$ntiK-P2{p9=JY!v7RCP)OEOiacaRaLS;NK|@}tG0NB`G^c|=V zDgc5ZK!i-joRMLHC(jTIVfX?pYAnS_sv;&O8xso>Yb{VpTB7U)n;B_I$`n1%J)i;3 zBKn&8i7Jq0jNLMI31VWVR=8YSeRS@(qxxj#?1{atjrGlSD2HB=Rcl9&9{JN>{!wFW z?w!wWKU&#!u4;@x)1gx@ZEvrB_}l+^_1ycF;n~XcqExEM_lccVK+6zA=p|AW12Uq9 zk-RcA7ovoepn!lBTE?2Yina>`k-Y#yuA4O4}Wm@_=&5x*MIx=*VStM!2G0@ zu)BJ9Y+~kx@BPX2?2+!hn@>LbUD(@ZF>&YY_{BPIou{S*sT2#i1zEK_blKmwEi z(lW$;5jCnF1gB+mX09KR^N-!Q`NHS})+yHMswGXa zNGU2RU}vCI#;6rF8R8zOXT))tM=|I>e01-VzaQ0|#TQ=P+1lJ)UlVaLX;!HmJ#^@o z|LCXn>G==7ynXxrrnUL##29JvNn_F!%8e(FtCi~UQ_nrVd*#CUPo8}Gn88IL-kV6TGAObtJ4n`0VG$XFqB2q|9j!~i1r?@47!MRF=-&9pG zElyf?R_=6ee4!7{El*D^9ewH6wX0j3>yxt!#<-)0m*4o&8;i$}U%9#V`**&s)#@|z z(~@Up^hGEmsj_ZvtZl8YPEJmpIQz=v#N5`UkJrEXB$gfZ32Cqc!mi@-iV@Wq%Ob_D z*BHQ*6v=D!$y0wW$-+#`%rFcVvc|eBKl}lf4^d4Q?zW!xn=D4XeQYs*-NFcbXL$B~AB zTtJMegma!^($c|3a9SRNt^v7g z%paKl<4WR@SfP!fMu4(jzrli6URRV!HrpN$80!K-ZB#{zjWWd1(s4`p5Gm~2~ zH0YNz0RsRC1SN$5ERX;Jawwo42>bg5K%;^gA{vxgvj$vCov4YBI-60EhJ?VBvl|Ah z`jz|T?Js2Q>!sPL`K4#RzIbtKbMN4RlLB{Wap^}t{K4UqC$8LI``w2ZhnubCgR}K| zh193$K@2cRzyg4UBGUTij!!x{JGXfB#fH>(Z(iNKbEVkbBsL%duz%NVZYvd&83>4B z9p#y|Y{*BBFeIdr6GX*xOcD)8rr?CLJV)Ka5vxW(86sd1Gy(~5fC9y!h6a)%0(jbv zC1_Ms2;vb6u%ZdAtM-t*q6Rl^Q`G)eXF?gJ+BEhJuTVq5cGfEG3oR8k2ns1d zHh7e!HzHXrvsFU`AJiu}0WGj^48a$@vft_K%q=cI_v#N@jgjuX>pS0ko;n>7Cn7||L;@iw7$Bes zh(yL%Lz!4h*&v)6wNQu=o9CQcWr|TL!4ixh0fX4f075`nK#9nC*kZq~%nIZRAGBXk zO@j?(DAXwp2hL8$EmO@n3r*@HjKDCUuz&yxH2@f315{L*5daAg23UO%VRjs1U}m-)Y|zA1GEzX! zupDfQVISGGa5 zvC(m6QPq9?kD&xktfU}_nq-vV)hA{V;h+`_MJjv!Znsl!G@k$d4>liPzj@=U-K!tl zR*lCeQ_*K;CXOkjq(lV6gXjch2!SI35>$zhiOX|iOiUh7VI);z8Qg2D6v?szV$@|2 z$ACq2Z~|+gj+01crRpdMM=Qp$3Uw{|j;lh>#=Z+}VPkAvQa_d}D|-J@eeKfGxrv!W z&s?~8ZhL2Iap_1I!}#RXD=)u#^zg!i$7>&a{*5)&>B;F@t-(y7!~$XvgBgR}0Yjl+ zkRjG+G#Dl}hQttwWxKVuxwW%>=+vpxFMoHa-rBnI(bo0zS|pBa*%)JzN=$?S*e8Gh zNdbj{I%30_<*e##W(gb>gAEFayc%Vz%9O;YW$2)fBNv>3r~{l+W-@R?4u*?9)Vfe% z57<2?kx_$dIPJ3Eft|LdRY5z?`eyH&4{7D&zxcC1b$RytH~-zlx_bTVVq?`n3^QWk#2U5=9h5OD3ImWT2xQe-7-uGi#AaxNSsQJ7#UH;AvT$kav#w#=gJPT&q~TIO3o0m z?mp^XdH;C5SU&!Ix6^I+`a{FRd0xwNH$5|X>iOrUCdcnSSX)`!Q>u)%hS@1IlTuJG z5GIN06~bVvUP+ZGCJ>P@Qz9iDyiLOlBQYW&6}`BAe{1o;a`opwTYY%r;kApKV{hj_ z__M6iN_#$1ASOdLrXUa^4hW3Ipa2r%j1l1og~CMg#4NBe2@we?A*!Tg2U!dNX|O>} z5`dF3gAHP#V3-CtR|6OzHdHI%gjgt7VTTb*Emt4%=2s*B*0YD_j~spW`i&c%UUB%? z$-J6P&x}9w?8#%x^BbFc=Puu^xccW(FHJ3=tB;LLd-9#E@7b%izI9Vb<>{>!mML@_B2xLfA0ditXACzNdxZ#|H zPESKhEXCf=&S&r1tWjG!?F!|j2?{}oUNu_Ll&FXb*2qa=9CDx}6d9~fQbMhONfktr z5eoR8fdWpD8S+APk{k@64-j|+V4w$1AP2SJ4n%-qkP%4|cb>HGeX^Xjk1rhG+E{P* z%35nUcP66WXf+ymI+sr_(-q{DgJc?9}*k&z_!NSX|xQyZp^fW8BEd zaF*vjsV27Um>{(O12ID~C1Ekv2y-9?SO)mIWe`+^ow1I@u~=)^AQ7yy2c~PCoz3&- zuWs+`xXfk76g%s?*UxosUI?*BnN3U#E3g8IDiC9wV|GleP#-lyz%CG&)iNRw0gy&g zFvNmEKwl9Rvp@#j00eWO&OE5YBDGT9`GR6Odts;;Q&cMgku2c`vKfh0qQ^mN+1D43PXcih8%D} z2^gRSHOz^0ccXphi{nGR)62{KcBi}7t5&N8Q)_tW@X~w=NnGvv!@afjwjdj7H4W3C z1R+(3BuGSHC^MqM5I_i#1co_84FUorq#z_L5|bBFFa>2H6-HFGVi53nb?46g2OFC! zN?LI_#TX^|y`Ao@Z??Yvw54JyjTrk%QLJGRfK+vWln%;1R%nU9UoF*%GAhkJ*z07NLFBojfgSK1R*s7A_&70B&mT|v23CU3_GEx z364aFj6g`4zyty+xl_fJ%Xhc;I-^rVsxgMdVp-Torn~LckAK^_`jw5GQY0%jw*W-d z05JjymS8i8Km%ex0!W|=Fktr)1PBZO6hIGX0!@V>>^N}LmM0=~fdI6i%+h7YA{$p{ z^v)Z9{!6glzk7G-&?3QDmp^mj)Z*M6fT)-qsn%tpNT%B>`bAG!ku)j8InsnwSOG;s zf@63>QaAwy8H%$qAthMJD0#%fN#+x$SXiczPzE?dT%k@kJbAo6GBtPhWx9Xk^6u{T z@c4vrR+IC-2=}h{R_>+~uQ+S>uP89kGq?dxt%^uskb^6M5^AvD-|jQY0AN7C02Qk$ zoS*~{B`0z=ZpWmFs!S|~vi|zL+n@f;cNT_Doj&!|m*+Nj+ugz!y*&Awj{y8ZDDZ z6)cuGDHu_NLA0}N1J_(*dgkC!AFlR_!m%-~u4TXMZtYw<=ceXbXJ2yFruN!M02vT5 zf)1#N6u=4wr~Ow4?eB{c1nT181P!|SjFALEwOW!B@e<33DxnJMroAV(cE0)0-}oS( z`SEr)``3T{x4o{Pm^%3A@tx)4$Bv%0Pj-4HtE_MBeRcJL$!ZI8lN1Z65IH;eSTrG) zfT-9qLOFt<$_!Z6aK@j?glmdFOA5w}T6h&bu=FUz{j&FD3_KqHZ z{`C;zH(#GKwU#v*WdcpTM>jXl{m#tJOT8}4s%cP*s;2$MPXJOd=>RPJ_8S1e3X@<+ zp$?i8dQPjV)sn=8Zi+>rO|UW4Q!aYny!|ixH$VHY{)_)+_0fa>{=fgfw?@Wd>}{^C z&mB4QAOEL+cJ|Dv|M|_YkIrwMS{(28EqjeVHL6(*=#}Xy`9e@PIOUG5Cj>;YPE$nk zj>$)afhGV7;*6Rs1P#&W?VaAn+LN`d2OC@K?RK~9dGejb19Pwc(VvR=wbhNKqo?lQ zzTE4y8?_cOld{Y6*zaNMN%zi`yxy!0jYI(upb4FuFz99nO9g;H=ovK% z7zH9IMiCN`(2Jyyiix5|?cT$iSKs+pqfOi#o$j+{C57k}}K zgNGJAyK?v9^@kJ9T#WIW_I7*sR@#k*9UH1P8hH`DDnVH(X-X-@ghWb)OysEh40tqF z3^@jY$p_!-bi19M&hAEgcXxAhyWQzBV{d(ReQjM~w>KXb-R)D=`qgz{--tFD`{L~M>cly)||L_0T|Fhloa|aIYZmu6X zapcGU=qJxTd*X}BxBvd_FNkuNxvg#)Id;nMaJ`eYMTw0wWeUlAib~8ZhU_36i-D*X zDu&ou@9sgevC)}&wHaHX+b=8i23KmU>raLz zD$Qnn^YQxJ!t&Uk{Kb=p_tzfYpPHJrxic;+`o&zH|;hB?cW02EMx8l*vk zEI@)XSU?F$5C!lIvML4&Pw*DDK_LYy)Ha+NE&4?&==Mi{t9L*8&;QGR*4Gy{cXr!*+Z)~PUa9JRKgE7t%SVhW z`e^TLjZIBAMp~CIe0uQU+_Nu!cVuJ;CUZ8=@?Njoo*1A0Z~u?~=PZkPp5>LHy>0*5 z`yc)7zxfv{7e2CMlT)w$)Yh7zvjrwl9Mm452r3aBQUsT<7FLiF0z!;EDhvQIlnjvv z3v;e1OEGXNky5+A_rUCJ4iAsa%pYLHAI5G7ab$e<*=Jui)#}@yT)%v6B`J@M4l~)^ zcF`*n5!b6(o@Gcy8PVA-pX}^)S8ry1@6hs+l5X#8Mxa)yH)~CiO0VedY&~vo?e6aF zw0pb#ZoAXo>-KtORBJf5oETP3jG^><{r+wv8(COfs^-;=l?QijTppb{F*0>T42oW{ zv*l{dW?=4yWP5&MeE#&y`Q__ZKY90W?|=Ar^`#@W(STYYfCE~ zaA6F@0AN+)6FSOG;arPUAZEfAHq=JPiq)a7zW(e-KmAAl<$v{Gk5)tO_93Ky|IUTq ze|WW7sZ2}`XZ2clx4YZ!XPKr@azp@$B$rh*#*K}Qn>SYC)@f{HH=VX zSz~8wd*$Js-R+H@_bN=uXVt2yHc||ldZewa$^6$17V~-`p>J6jDmXL%HYOI3wPNwKFe}8QpQli<*w3dwi+Y#l_!tx-@R|xf&(O3uE(P2 z?QPxJ+KLI1)mlTmx%%M7#m}F6=?#-r`@S5VYN#qRTRYzMot2flvkS{-Uwpl{yRq}h z@2XP^&EwCf9k0Oyfb3^ghyx80yh8*OBotHZmxUof8Iht-C4ytXh&3W0sG8x!XZ`k* zwX2_B{G@((ad~R2GTLek{^#<-_)fQbZEW0svbpo&dmoGrw36c*H2#NarKC!U1Ms2^{ef;>|r7Pza4jvq8)cU0+C=0WgZoB8pIJ7Xc zbo}hf{i_$=|Mip4e&1X;l20vjwU&GjfiYl*lrfO>GLs?I6uRBeFVY~zlLcjnA&O7N z7;A)yVp3HdUOFMM*SUA;&dnR2fBNOVj*Uc0dJ+rOIm*?&B1*t2gau6=8jBd2>{Tj*q^_4`tRO8clG*% z1M^FcLF#R0m=i+jn!}pn_T#(7=K9Kwi+Q6yJU)H!@Tt=;yK);Rag zL!)_0DfwWnGe$xTD~}&7EiWHF`s`N+KHGSBXZ^;7#^bAYd{kUbZ3HRwDTT@)CBGL! zKaj}?jDGPHv{!@_Srtipy~3v4SqD-Usf6 zH=ZplEIDTZV}Rp_4%~g*d3a}SvnWQ#MyvIqq1I@#F;b@Yt<6Pj&zI1sNIP4r>+7p5 zw&JALY|R}!I5jcR92w24)ua$(>WzBY?m=8$twxX$Tg|GyP!ggOqNIhACZkYINddCv z#L1(l&Yr$-`{DL>;f#2nlmx`V7YGU#!**+ZGeVA>dA`5B+F4)UJpX0&;L)K|&m$-j z4~R2Osv%ME0>D5+00R|gfB`c$;Cw|jW+o@~MY#)?!7~C#%;?e?ZLe>fd++>*ow?b` zp|OK4w|{?6EFb8U`d1HD_j;YCsTaMzsJKe=g;#%(<+`g?^3V05fGHG5!mVR>WY z(e~AgJ70cMUpg&~M)G}93jGkh&kTj2-V>P|S|AK~F%qz45&|idDXOLz2_ZrgMdC#D zu>;}Ia~pTRx&P?lxsN^?8=Y;vbhcGt06F30!KqhXIQ;pg+pFtajau&55p$N;U7ih3 z(An>N|ICZe#nL}sd2;L4ovodAb9k)iclLJHJN<40V`Uj1+`YH@=n+gdF+KglD=#iB zFUOwGtJT)f@Y>^tN`SHIp`0KZeaQ3L_{8*q<;B~#uHC-%&52X7)|yaA(v*;h6XF2Z zNu->j7QOE7+LOtth38-U+1}d2)q6MAKK`v6nW_!9Ql!ue2vIcoP9$YxBvL?3DE8qF z9)RTgmkoi)2xlNb6s+2hVqJA?e&p=;cfR=b%}eLTW|rrtCr%%k9UP*eiu=i{r?%V0 zyPsaGX1SWwEjpcUn@MVo+U%ic=cY$uclYaaUv#>C$a+?(WIQrHF_KuxxRKGR*#ie2 z-oN+xXXi6_Wp{h0_x)aLWV}{yRXRf~qRcRs1Bg{cmHf=i{LF!cc5i!S<-zL8<3{bu z+_F?!bKOpvG|>QdB!DO(u~3R}{qf3y2^p`K!w@>9a4seCWhT)@+i^lD460IeATp5MvgW=ccB{ z-+uEq>yI8*D%JJJPbTJ;Cr27Ze>)b500<~iipj$hl8LM=yIbq7T0Q#0t1Az#eD(Re zJLlhZt?BBqSIPE6Cul(~%Tk7t0G|N`%zzgo#-K7JRe`dDbK-1*8e!s$YVf^;l+~J3 zL(4C$w|B0b`=lziYJUFObBhCY9)M$q4&LADUA=Ij@Uht(^+og{7Ad5%tE!pLA!cN_ z<|GyUVrP4IXS>^J_w(vlr8aC`&9DPR*|hgM*ROul>$LCOyisiq1nwgpX-uGTF%Idkx4-zF}!ag_&1&}~Y5hz3I_4a^N z9UhxsK70C=KYHiy{_649ALb*|V`qL;8JkoNB{X@E0#22IG~mUOBB~O|aOPY+cbSkX zNL*kkR1=J3)>MsJGWF5w#eD+jjgyJ zEImcUBKg8Ikus6w!z1&g4%b9=AdJ9O&VQ_sKr)wy#wuYTi9wz0Nya_Qio{n0O6HnhFd3#C^bOmTq(fl&_X z7k@ahaI{=o+q(Ff7Q5=WWEzO+_v4oW5rzhY6+t*?mbvvTkkLu3iN@X5ExYut5`TA&RS+kVW5kE zhA0XrqEJ#wWYvLKO=Bo6JllS7ZTHp}*REdu`r`b_`Fyz6VB)&q(3Dv{I=Q{IxwXFK zJ&CDAEe4Ek2vN(Pb2hJ3B(r_rqdhKqy~v2EFGMLuM6fkB&n0FyhAhikBjZ`M>3xX4 zd-41iL}V)H#REBJG`IWNY?L7GE(#LvXq4~Y%o?*iPs=(PpGyPui=35`{w5ib;R^BD; zBSm70z6kKO<^*7T-`DB{=A=r#)H8#_%HhgFA@yf%S*RFWqQw}?u zom!>!!mBU-_-C(=PfT9Bxwg5rqCSe@gjAv=B8nwqpCk(^Ax5B#NxfGhA7WX0PsZ)_ ziru~KXHP5~KYHZq#Y4MKZuxQtj?t!lUAP1K(0($i5aUc%6>(sO#&4+)-WMM~C5#xH zn1r}Ojw(Y3Py5c!%F4CNU!Qw#c7CWae&*OgLjW*dw};<;?wXCFv$yi--uC*c6+1F9bMVO0 z_~cZrIkLLZ?-tv8yM6V6pe3mStf`EVk{8tw5tXCHq-Bgrm5`z+gt#4La-_C6Gcw+2 z)Ww;BAUwe(6mh@7Pbsk&m)8a-$cSVh9YpPY{WzfCq50i3>;I^|l=pQOKB2q+SU9CAZG&F9E1(G;3 zcj)Nk?7@DgvvU9D>dKvdcQ>VEtP>;S)3c4*@c6{S;nSyEW5cWW?tS*jC6HO1pKdkl zA)!=}lt@z_aRBXv7!rsyrI_~1Y9%B#%=M~0wmg4iern~xlbcsAb@sN*h|7{02&iJ%7tezb{(~J6AYq?2iu<&YCXm8GBbTmOojm^C?%MrFx31m3eslY| zQ`q02WF4P6F>?E1^_yE>ZB9!6u{9@eE9USqeqUPI9#dMA3Ryz?S#$sjc+b~ zyz}^>C8^hIjpp#g#Qga5!Afh?d*9jJdGh%2gL@BC8Io6pzjOb==-AlU=x8I$qW8U` zbT-rA5xmM^sqBpPkvt+BZg+c`q0`F~XOA9;k$?a8n;(7jb^+fy_HsUbq+gb5la`59 zYK^Loy>7p^-)boH{)epJ%BKfMNg#~i0Rb~ocq*wCXIyi5yi#fHJ-D`dZsYtHA1=%c zkB$Cfd}25^k`tO@D7|x3{<3 z?Y4Wh#>D8z%y4T+McHK5)yY z&np0HG=NnTrN~ai#IoOO*M%16r(b*NWT)u<_N@=T{NT+kAF3x_tI8F_xi3oC=^*B79b3Yh;P3JqbnrPu&=$>096nvSut7FR8uw1oO;!F_8wk-_Yd#9 zH8e5#-S57%Jl$dlfaS%Bm%FFm+gn|E($y3w1u`b7>GrzyYD1iRu)1^g#-mUaBEbk% z^TyQ7v60Eiyq1-ny>73++itI}-wQ=SDqh(LOXgA>R64}sx@B3cZ){sh^j7v?8s zMov~U17NIz!wdC?hmUsqac_4+Y=uZDDYF#)e%UK1Y1QT`mZ&5o)!5zJY;mksdyIys?+fj5X`ET$NOvk0lVSL(vVYGBG~+%8O@5 zM(cn5o8P|w``@W1cl?d|^y#Wp;52HGWU38oYn(Wt%^^^~GPp|wuqq`rtkx=^tSWB-R8a019Sd zFLO+7Q1c+5-j)h2I5=x1Y zs;$=asaJcOkJcW3{rP8~A6#0RnVzZ>h>;1F7wQiVA6R{~-s^T!jABJqiHVp}j6@(v zR0SzBC1o*eY2WrC0%aOFV<3P95Y{rX0s>`HVos1q(OF@b&7EGi=SPR)&`_;nGecQl zb#x>WaV0Wwj>JVc&K#>l;n=bm2%O891qA0Z6_i?7QHq|8oj!7W;@Fu~X{_G6^X1#0 zpa0}e2nj$2j2S$8=-{)b&rq&K>O0P8FdYkWk_$kw$e^0YM>quy>Jiyj6gh=J36vpI zl`_I=1~ndP3<<*1rw6aTlIO~_w!3rp{>tX&UP>HGJ$7j6)bXW@7cai|_U|69-1Q@K z%>!qK#~1U_X=|G{Rb9P74VO5fB(O)N0Br1- z!VlK2pIcj7zjW!d`i#x%)w$83h?pClp2&_KJQjO5I=d?%5HV8H6o?JT1}Y>a0hI(1 z2vC+!kr+~91~_P6U@VNH5HG{UP2j6`8-a8NO z-7lKcL-Q}x=by=%lcZ{cno3m~R?$;02o@$m4N8Ml!bMnOB7}${vE~_!P$XwFaY777 zxe(M8;7mQp7tT5rlqjvU!UhqJoEVcRrlQB*H;2a$zVwr_l7061+n=1fasTlifPqYT zs8%_9Polo3vWgfgmQ5TgWC2nZAl#}Ez*PsjiwDl$

{ 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 literal 0 HcmV?d00001 diff --git a/assets/shop/medal/PlateGunT3_3.png b/assets/shop/medal/PlateGunT3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6f57f76bd6e458f2f69a3ba36abdff7e665e73be GIT binary patch literal 19072 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 D16d){ literal 0 HcmV?d00001 diff --git a/assets/shop/medal/PlatePlaneT3_3.png b/assets/shop/medal/PlatePlaneT3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4887ce0aa618ed9f4285dd143b4cdc83d1782c2a GIT binary patch literal 18808 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Ξ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 literal 0 HcmV?d00001 diff --git a/assets/shop/medal/PlateTorpedoT3_3.png b/assets/shop/medal/PlateTorpedoT3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6579a76ba0c5fee65c98117001857705b0380bff GIT binary patch literal 18676 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 TwZqr900000NkvXXu0mjfG=BS* literal 0 HcmV?d00001 diff --git a/assets/shop/merit/BoxT1_6.png b/assets/shop/merit/BoxT1_6.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf13b3ce4f4cd54923dfd5749d6dc0d09a1615a GIT binary patch literal 19838 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 literal 0 HcmV?d00001 From 6dd2b5279515fef5f9ee245e56ca1c24d568224d Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Mon, 8 Sep 2025 23:28:38 +0800 Subject: [PATCH 06/33] Upd: [JP] asset SHOP_REFRESH (#5114) --- assets/jp/shop/SHOP_REFRESH.png | Bin 9355 -> 4146 bytes module/shop/assets.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/jp/shop/SHOP_REFRESH.png b/assets/jp/shop/SHOP_REFRESH.png index 8f7521f48871f2767bf263464c4f19872dcb787b..86634e8176889e7d838ae7acec54194002f79de1 100644 GIT binary patch delta 1554 zcmV+t2JQKaNwOf2B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000lv zNkl`Oe>TZ><97dOQ?s^Zu^^S&f`8butBV#y@T~>G7ePV# zs!+sId??sAK??&S-LH>tc{g!|5)noy8kzu>?3ZH$^5&=xi^!UWKDLb z$^NPG`Q(zhxpVHBa6{mJ`JHoalCuFFatE_e3nl`8@c$;b1ONcA(idMi7K^1M6k9jT zjd~K|+D&8oEBh9f@2<1fF@})+7(#2O)x2|VVZ~i}-a*zZEcJD*G;McsHa;)_3 zrRrPft4Gh2-<~bcl*$tzVC83bSe0Qh+6w%*#R-zGbU zd!PTtuF0{|Ts3{=bb0Fh;`Bmeq`$cTp259iJ)a)w{neq}KYsb_>8rH^_YM8-t(lL1 z9L}Qw)gS-^0KlCN%M)Y0&mG!1Fe)a5HUt_r!y;G!0I=!oTP!rA>F0J2jtuuqO;?|K>EFjL&XtPwv{4V) z1Ao(My*_nz{yTp--fTSDSG;FysZ@*2nMLy4l~y5NOy06<`1WxHivTEA8r>S|h%9 ze(|*r=h7G(X|}D*(1%Yf%vaO7YU&EZouUE^001`#!(CKeW2p4RXU7gq47#=;00RKP|5!fG;&HL?-G@f^jrad{>e5Re%*-u>JOhU$ zdqi*+h_kk#aIqSvXVRw+pZ)Xkp(po^#zHGuhcvc^W*XoO0x$po+%~cMrysRbaN1~o z8y_e>_2~G4dxu|qW9FR;iwm`X<egxOv0AV)*>7Ex-Kcu4fMJoZQ~uDG_&?BtyN~P56~ceFMLb#~^_K3;+PPO8DrF zrpxK;rxs=x)|d>uwXgW>SML7OCxb-+MJFw&Hdq-9@ik}+mf97j|M20hdxm?S{_wQQxUzx=aY zuGJ1r4n8(9a94lf@y`sm+x+8Pg^~j0FkrT5oj`SUz82-diZ?nbhV&nDG3sdJ88)*_tNr;Uk z4cB(nj@nD_bVftxAK$1aR=@%Q7ytlnx;$*=fivX8oY!sF%%*u#j%m_~u$hyWE5ClT z5?etw3$dXPJ6ZQWzh#4;!-~+m@>5ckVGw`;0N|Eo;H6mFWve_1$Lq(`m~14+#=O$( z?*W@;6=(nexEaDa2g9oPyQ0FYq6?Ej3x*oE!+!)A0HKTprtaL`p8x;=07*qoM6N<$ Eg7=CcF#rGn literal 9355 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 Bg5v-H diff --git a/module/shop/assets.py b/module/shop/assets.py index 3e82a68fa..8972215bd 100644 --- a/module/shop/assets.py +++ b/module/shop/assets.py @@ -32,7 +32,7 @@ SHOP_OCR_BALANCE = Button(area={'cn': (903, 164, 983, 189), 'en': (903, 164, 983 SHOP_OCR_OIL = Button(area={'cn': (700, 23, 785, 47), 'en': (863, 24, 955, 46), 'jp': (700, 23, 785, 47), 'tw': (700, 23, 785, 47)}, color={'cn': (150, 185, 194), 'en': (150, 183, 189), 'jp': (150, 185, 194), 'tw': (150, 185, 194)}, button={'cn': (700, 23, 785, 47), 'en': (863, 24, 955, 46), 'jp': (700, 23, 785, 47), 'tw': (700, 23, 785, 47)}, file={'cn': './assets/cn/shop/SHOP_OCR_OIL.png', 'en': './assets/en/shop/SHOP_OCR_OIL.png', 'jp': './assets/cn/shop/SHOP_OCR_OIL.png', 'tw': './assets/cn/shop/SHOP_OCR_OIL.png'}) SHOP_OCR_OIL_CHECK = Button(area={'cn': (666, 30, 682, 43), 'en': (834, 25, 854, 45), 'jp': (666, 30, 682, 43), 'tw': (666, 30, 682, 43)}, color={'cn': (73, 73, 73), 'en': (71, 75, 75), 'jp': (73, 73, 73), 'tw': (73, 73, 73)}, button={'cn': (666, 30, 682, 43), 'en': (834, 25, 854, 45), 'jp': (666, 30, 682, 43), 'tw': (666, 30, 682, 43)}, file={'cn': './assets/cn/shop/SHOP_OCR_OIL_CHECK.png', 'en': './assets/en/shop/SHOP_OCR_OIL_CHECK.png', 'jp': './assets/cn/shop/SHOP_OCR_OIL_CHECK.png', 'tw': './assets/cn/shop/SHOP_OCR_OIL_CHECK.png'}) SHOP_PROTOTYPE_SWIPE_END = Button(area={'cn': (1135, 660, 1215, 678), 'en': (1101, 658, 1215, 676), 'jp': (1097, 660, 1199, 678), 'tw': (1135, 660, 1215, 678)}, color={'cn': (136, 137, 139), 'en': (111, 112, 115), 'jp': (86, 87, 91), 'tw': (136, 137, 139)}, button={'cn': (1135, 660, 1215, 678), 'en': (1101, 658, 1215, 676), 'jp': (1097, 660, 1199, 678), 'tw': (1135, 660, 1215, 678)}, file={'cn': './assets/cn/shop/SHOP_PROTOTYPE_SWIPE_END.png', 'en': './assets/en/shop/SHOP_PROTOTYPE_SWIPE_END.png', 'jp': './assets/jp/shop/SHOP_PROTOTYPE_SWIPE_END.png', 'tw': './assets/cn/shop/SHOP_PROTOTYPE_SWIPE_END.png'}) -SHOP_REFRESH = Button(area={'cn': (950, 660, 1003, 684), 'en': (950, 660, 1003, 684), 'jp': (1161, 162, 1270, 206), 'tw': (1161, 162, 1270, 206)}, color={'cn': (73, 164, 221), 'en': (73, 164, 221), 'jp': (178, 142, 84), 'tw': (179, 143, 88)}, button={'cn': (950, 660, 1003, 684), 'en': (950, 660, 1003, 684), 'jp': (1161, 162, 1270, 206), 'tw': (1161, 162, 1270, 206)}, file={'cn': './assets/cn/shop/SHOP_REFRESH.png', 'en': './assets/en/shop/SHOP_REFRESH.png', 'jp': './assets/jp/shop/SHOP_REFRESH.png', 'tw': './assets/tw/shop/SHOP_REFRESH.png'}) +SHOP_REFRESH = Button(area={'cn': (950, 660, 1003, 684), 'en': (950, 660, 1003, 684), 'jp': (950, 660, 1003, 684), 'tw': (1161, 162, 1270, 206)}, color={'cn': (73, 164, 221), 'en': (73, 164, 221), 'jp': (73, 164, 221), 'tw': (179, 143, 88)}, button={'cn': (950, 660, 1003, 684), 'en': (950, 660, 1003, 684), 'jp': (950, 660, 1003, 684), 'tw': (1161, 162, 1270, 206)}, file={'cn': './assets/cn/shop/SHOP_REFRESH.png', 'en': './assets/en/shop/SHOP_REFRESH.png', 'jp': './assets/jp/shop/SHOP_REFRESH.png', 'tw': './assets/tw/shop/SHOP_REFRESH.png'}) SHOP_SELECT_PR1 = Button(area={'cn': (182, 212, 308, 339), 'en': (182, 212, 308, 339), 'jp': (182, 212, 308, 339), 'tw': (182, 212, 308, 339)}, color={'cn': (157, 158, 143), 'en': (157, 158, 143), 'jp': (157, 158, 143), 'tw': (157, 158, 143)}, button={'cn': (182, 212, 308, 339), 'en': (182, 212, 308, 339), 'jp': (182, 212, 308, 339), 'tw': (182, 212, 308, 339)}, file={'cn': './assets/cn/shop/SHOP_SELECT_PR1.png', 'en': './assets/en/shop/SHOP_SELECT_PR1.png', 'jp': './assets/jp/shop/SHOP_SELECT_PR1.png', 'tw': './assets/tw/shop/SHOP_SELECT_PR1.png'}) SHOP_SELECT_PR2 = Button(area={'cn': (182, 212, 310, 340), 'en': (182, 212, 310, 340), 'jp': (182, 212, 310, 340), 'tw': (182, 212, 310, 340)}, color={'cn': (160, 159, 145), 'en': (160, 159, 145), 'jp': (160, 159, 145), 'tw': (160, 159, 145)}, button={'cn': (182, 212, 310, 340), 'en': (182, 212, 310, 340), 'jp': (182, 212, 310, 340), 'tw': (182, 212, 310, 340)}, file={'cn': './assets/cn/shop/SHOP_SELECT_PR2.png', 'en': './assets/en/shop/SHOP_SELECT_PR2.png', 'jp': './assets/jp/shop/SHOP_SELECT_PR2.png', 'tw': './assets/tw/shop/SHOP_SELECT_PR2.png'}) SHOP_SELECT_PR3 = Button(area={'cn': (180, 212, 309, 340), 'en': (180, 212, 309, 340), 'jp': (180, 212, 309, 340), 'tw': (180, 212, 309, 340)}, color={'cn': (156, 156, 142), 'en': (156, 156, 142), 'jp': (156, 156, 142), 'tw': (156, 156, 142)}, button={'cn': (180, 212, 309, 340), 'en': (180, 212, 309, 340), 'jp': (180, 212, 309, 340), 'tw': (180, 212, 309, 340)}, file={'cn': './assets/cn/shop/SHOP_SELECT_PR3.png', 'en': './assets/en/shop/SHOP_SELECT_PR3.png', 'jp': './assets/jp/shop/SHOP_SELECT_PR3.png', 'tw': './assets/tw/shop/SHOP_SELECT_PR3.png'}) From 327eb2f9b9fd29e78254adb88f550744c4c5ee54 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Mon, 8 Sep 2025 23:37:45 +0800 Subject: [PATCH 07/33] Fix: [ALAS] BlueStacks Air serial auto increase from 127.0.0.1:5555 + 10*n --- module/device/connection.py | 3 ++- module/device/connection_attr.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/module/device/connection.py b/module/device/connection.py index b35216e44..17bc94f55 100644 --- a/module/device/connection.py +++ b/module/device/connection.py @@ -318,7 +318,8 @@ class Connection(ConnectionAttr): # BlueStacks Air is the Mac version of BlueStacks if not IS_MACINTOSH: return False - if not self.is_ldplayer_bluestacks_family: + # 127.0.0.1:5555 + 10*n, assume 32 instances at max + if not (5555 <= self.port <= 5875): return False # [bst.installed_images]: [Tiramisu64] # [bst.instance]: [Tiramisu64] diff --git a/module/device/connection_attr.py b/module/device/connection_attr.py index 2be4d9ad5..40c579c3a 100644 --- a/module/device/connection_attr.py +++ b/module/device/connection_attr.py @@ -165,7 +165,7 @@ class ConnectionAttr: @cached_property def is_mumu12_family(self): - # 127.0.0.1:16XXX + # 127.0.0.1:16384 + 32*n, assume 32 instances at max return 16384 <= self.port <= 17408 @cached_property @@ -177,7 +177,8 @@ class ConnectionAttr: @cached_property def is_ldplayer_bluestacks_family(self): # Note that LDPlayer and BlueStacks have the same serial range - return self.serial.startswith('emulator-') or 5555 <= self.port <= 5587 + # 127.0.0.1:5555 + 2*n, assume 32 instances at max + return self.serial.startswith('emulator-') or 5555 <= self.port <= 5619 @cached_property def is_nox_family(self): From 67985322a0995196840f87a0b73842f9f363dada Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 9 Sep 2025 00:39:06 +0800 Subject: [PATCH 08/33] Fix: Handle MEDAL_SHOP_SCROLL_250814 just at 0.90 (330.5-61.5)/(422-123) --- module/shop/shop_medal.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/shop/shop_medal.py b/module/shop/shop_medal.py index 2fdd81d32..fae857f40 100644 --- a/module/shop/shop_medal.py +++ b/module/shop/shop_medal.py @@ -51,7 +51,8 @@ MEDAL_SHOP_SCROLL_250814 = ShopAdaptiveScroll( name="MEDAL_SHOP_SCROLL_250814" ) MEDAL_SHOP_SCROLL_250814.drag_threshold = 0.1 -MEDAL_SHOP_SCROLL_250814.edge_threshold = 0.1 +# A little bit larger than 0.1 to handle bottom +MEDAL_SHOP_SCROLL_250814.edge_threshold = 0.12 class ShopPriceOcr(DigitYuv): From 5e027ec923de7c43d5205fedd11a45b54f1d2513 Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:30:37 +0800 Subject: [PATCH 09/33] Fix: handle_game_tips if only the background is dark (#5103) --- module/handler/info_handler.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/module/handler/info_handler.py b/module/handler/info_handler.py index b5ab2b2d8..706a650d5 100644 --- a/module/handler/info_handler.py +++ b/module/handler/info_handler.py @@ -499,13 +499,16 @@ class InfoHandler(ModuleBase): Returns: bool: If handled """ - if self.appear(GAME_TIPS, offset=(20, 20), interval=2): + if self.appear(GAME_TIPS, offset=(20, 20), interval=2) and self.image_color_count( + GAME_TIPS, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True - if self.appear(GAME_TIPS3, offset=(20, 20), interval=2): + if self.appear(GAME_TIPS3, offset=(20, 20), interval=2) and self.image_color_count( + GAME_TIPS3, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True - if self.appear(GAME_TIPS4, offset=(20, 20), interval=2): + if self.appear(GAME_TIPS4, offset=(20, 20), interval=2) and self.image_color_count( + GAME_TIPS4, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True From 776bd56e309ab3b7af5ca2000b78e7737192f81b Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Sep 2025 00:45:47 +0800 Subject: [PATCH 10/33] Fix: Check GAME_TIPS using matched area --- module/handler/info_handler.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/module/handler/info_handler.py b/module/handler/info_handler.py index 706a650d5..288a5c75f 100644 --- a/module/handler/info_handler.py +++ b/module/handler/info_handler.py @@ -245,6 +245,7 @@ class InfoHandler(ModuleBase): """ Guild popup info """ + def handle_guild_popup_confirm(self): if self.appear(GUILD_POPUP_CANCEL, offset=self._popup_offset) \ and self.appear(GUILD_POPUP_CONFIRM, offset=self._popup_offset, interval=2): @@ -264,6 +265,7 @@ class InfoHandler(ModuleBase): """ Mission popup info """ + def handle_mission_popup_go(self): if self.appear(MISSION_POPUP_ACK, offset=self._popup_offset) \ and self.appear(MISSION_POPUP_GO, offset=self._popup_offset, interval=2): @@ -447,9 +449,6 @@ class InfoHandler(ModuleBase): self.interval_clear(STORY_SKIP_3) else: self._story_confirm.reset() - if self.appear_then_click(GAME_TIPS, offset=(20, 20), interval=2): - self.story_popup_timeout.reset() - return True if self.appear_then_click(STORY_CLOSE, offset=(10, 10), interval=2): self.story_popup_timeout.reset() return True @@ -494,21 +493,22 @@ class InfoHandler(ModuleBase): """ Game tips """ + def handle_game_tips(self): """ Returns: bool: If handled """ if self.appear(GAME_TIPS, offset=(20, 20), interval=2) and self.image_color_count( - GAME_TIPS, color=(40, 40, 40), threshold=240, count=50): + GAME_TIPS.button, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True if self.appear(GAME_TIPS3, offset=(20, 20), interval=2) and self.image_color_count( - GAME_TIPS3, color=(40, 40, 40), threshold=240, count=50): + GAME_TIPS3.button, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True if self.appear(GAME_TIPS4, offset=(20, 20), interval=2) and self.image_color_count( - GAME_TIPS4, color=(40, 40, 40), threshold=240, count=50): + GAME_TIPS4.button, color=(40, 40, 40), threshold=240, count=50): self.device.click(GAME_TIPS) return True @@ -517,6 +517,7 @@ class InfoHandler(ModuleBase): """ Manjuu loading """ + def manjuu_count(self): """ detect manjuu count by template matching @@ -538,7 +539,7 @@ class InfoHandler(ModuleBase): self.device.screenshot() if not self.manjuu_count(): break - + def handle_manjuu(self): """ Handle manjuu loading. From e4c3c7062edd641ecc16b0166d829e4928490494 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:48:52 +0800 Subject: [PATCH 11/33] Upd: QQ group --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d7620a588..976a3f83e 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,7 @@ Alas 仍在活跃开发中,我们会不定期发布未来的工作在 [Issues] ## 联系我们 Contact Us - Discord: [https://discord.gg/AQN6GeJ](https://discord.gg/AQN6GeJ) -- QQ 七群:[1026960593](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=rPYxlGzFCRl1jK7cnUXrCzmX6KCEvc4U&authKey=XTLdoBWD6hFxx7sFVbF2L94XyjKnjAIoATzWQcJj98%2By%2BDW%2F%2BG6YbqVuF85FQkex&noverify=0&group_code=1026960593) +- QQ 八群:[938081688](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=3h8Gl323WkIt6yGx8Jx5Ht93puZxeA8T&authKey=xPT6kPm7W9jWO2TNzPdohJ27l1njxorwKmkDrbwwYGGA6Oni1xQSJhHsRIJ8w7GZ&noverify=0&group_code=938081688) - QQ 一群:[1087735381](https://jq.qq.com/?_wv=1027&k=I4NSqX7g) (有开发意向请加一群,入群需要提供你的Github用户名) - Bilibili 直播间:https://live.bilibili.com/22216705 ,偶尔直播写Alas,~~为了拯救Alas,Lme决定出道成为偶像~~ From 9c45c4e14458b89a53b84dbfff2c578f2127a563 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Sep 2025 23:01:54 +0800 Subject: [PATCH 12/33] Add: Event entrance of A Dance for Amahara Above (event_20250912_cn) --- campaign/Readme.md | 1 + module/config/argument/args.json | 96 +++++++++++++++++++------------- module/config/i18n/en-US.json | 1 + module/config/i18n/ja-JP.json | 1 + module/config/i18n/zh-CN.json | 1 + module/config/i18n/zh-TW.json | 1 + 6 files changed, 61 insertions(+), 40 deletions(-) diff --git a/campaign/Readme.md b/campaign/Readme.md index 57e1137d1..3bb9c67cf 100644 --- a/campaign/Readme.md +++ b/campaign/Readme.md @@ -257,3 +257,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf | 20250814 | event 20250814 cn | Secrets of the Abyss | 奇渊下的秘密 | Secrets of the Abyss | 淵層界の秘密 | - | | 20250821 | event 20220224 cn | Abyssal Refrain | - | - | - | 復刻深度回音 | | 20250828 | event 20250814 cn | Secrets of the Abyss | - | - | - | 奇淵下的秘密 | +| 20250912 | event 20250912 cn | A Dance for Amahara Above | 起舞于天原之上 | A Dance for Amahara Above | アマハラに舞い奉れ | - | diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 7cf544ff6..c70fa7e44 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1643,23 +1643,25 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "display": "hide", "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -1922,22 +1924,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -2315,22 +2319,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -4018,22 +4024,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -4428,22 +4436,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -4838,22 +4848,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -5248,22 +5260,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { @@ -5648,22 +5662,24 @@ "type": "state", "value": "campaign_main", "option": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ], "option_cn": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_en": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_jp": [ - "event_20250814_cn" + "event_20250912_cn" ], "option_tw": [ "event_20250814_cn" ], "option_bold": [ - "event_20250814_cn" + "event_20250814_cn", + "event_20250912_cn" ] }, "Mode": { diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 1276308e0..2db60d37a 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -760,6 +760,7 @@ "event_20250520_cn": "A Rose on the High Tower", "event_20250724_cn": "The Alchemist and the Tower of Horizons", "event_20250814_cn": "Secrets of the Abyss", + "event_20250912_cn": "A Dance for Amahara Above", "raid_20200624": "Air Raid Drills with Essex Rerun", "raid_20210708": "Cross Wave rerun", "raid_20220127": "Mystery Investigation", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 1ebde4ca7..cfd0a265a 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -760,6 +760,7 @@ "event_20250520_cn": "高い塔の薔薇", "event_20250724_cn": "錬金術士と天空邂逅の塔", "event_20250814_cn": "淵層界の秘密", + "event_20250912_cn": "アマハラに舞い奉れ", "raid_20200624": "特別演習超空強襲波(復刻)", "raid_20210708": "交錯する新たな波 (復刻)", "raid_20220127": "秘密事件調査", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 2696ba1e6..17a5ac77c 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -760,6 +760,7 @@ "event_20250520_cn": "高塔上的蔷薇", "event_20250724_cn": "优米雅的炼金工房", "event_20250814_cn": "奇渊下的秘密", + "event_20250912_cn": "起舞于天原之上", "raid_20200624": "复刻特别演习埃塞克斯级", "raid_20210708": "复刻穿越彼方的水线", "raid_20220127": "演习神秘事件调查", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 9a8e10792..3f958f19c 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -760,6 +760,7 @@ "event_20250520_cn": "高塔上的薔薇", "event_20250724_cn": "鍊金術士與天際交會之塔", "event_20250814_cn": "奇淵下的秘密", + "event_20250912_cn": "A Dance for Amahara Above", "raid_20200624": "特別演習埃塞克斯級(復刻)", "raid_20210708": "復刻穿越彼方的水線", "raid_20220127": "演習神秘事件調查", From 2028b7426c7cb594481af2ed8ce8ac96f630f291 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Sep 2025 23:45:55 +0800 Subject: [PATCH 13/33] Fix: MAP_STAR detection for minor icon shift - TODO: [EN] Update MAP_STAR_* --- assets/cn/handler/MAP_STAR_1.png | Bin 5607 -> 4836 bytes assets/cn/handler/MAP_STAR_2.png | Bin 5602 -> 4798 bytes assets/cn/handler/MAP_STAR_3.png | Bin 5602 -> 4784 bytes assets/jp/handler/MAP_STAR_1.png | Bin 5607 -> 0 bytes assets/jp/handler/MAP_STAR_2.png | Bin 5602 -> 0 bytes assets/jp/handler/MAP_STAR_3.png | Bin 5602 -> 0 bytes assets/tw/handler/MAP_STAR_1.png | Bin 5607 -> 0 bytes assets/tw/handler/MAP_STAR_2.png | Bin 5602 -> 0 bytes assets/tw/handler/MAP_STAR_3.png | Bin 5602 -> 0 bytes module/handler/assets.py | 6 +++--- module/handler/fast_forward.py | 9 ++++++--- 11 files changed, 9 insertions(+), 6 deletions(-) delete mode 100644 assets/jp/handler/MAP_STAR_1.png delete mode 100644 assets/jp/handler/MAP_STAR_2.png delete mode 100644 assets/jp/handler/MAP_STAR_3.png delete mode 100644 assets/tw/handler/MAP_STAR_1.png delete mode 100644 assets/tw/handler/MAP_STAR_2.png delete mode 100644 assets/tw/handler/MAP_STAR_3.png diff --git a/assets/cn/handler/MAP_STAR_1.png b/assets/cn/handler/MAP_STAR_1.png index 5510e61e65eebc963987383270cfe12f23768fed..5695b21451cf24bfc16b343b45d4f88907f98c64 100644 GIT binary patch delta 2263 zcmV;|2q^dGE951RBW@C_NkldYA|ltytST?%t=)Eyr}4O_he0%> z5ukxa1A+q*S59*o@sA-PaToy-(#(NHtSyje8W?1^dRiX4y|rDotFl~`TVyOmX4$3> z-4{+(#rM^#%!tSrad^r+{PeaEv+)W}1%LQ|D{2CcuQOX0zVyqS#Mnyf=AfI^?IaG* zU&_ka&+l*l(mQW&@4k4vy<1eT>c_AAB|LrdPzwV9z)6y50*!e9MtY06#ygC5@00dw-4hi^6K5i-`*|3*B9Oc77|L*$Q?sy}wDUn-aeeg8=}5lPc2$9QzC$zx-q=NxSXrU>^IuwU~rSn$M?`(;L0T z-@1Of8b8lMz1~S;Ocr^O#84fE-GA6*;ZUuPRw;OCGTzt1003~37y`{P7QbQ{wQ-|es(z<+e0XP3 zS8r}ESG+1?x~SsrBu?@sMtAC}O6!;vRo^cI000DFI6BUq9%S_*G$mw%c1W8bJk86H zR#mL>yxpCi9b}g`)AxV-yQ?wH$zXW?#&5p=v!6W~@4dKqws-sEdw;XC)$X*rt#;AL z9(2~KDrqVvNo)7XRPzD=fB+0fMOEbYo<2XEuX`@7Hd}G9mi1f7seW={qa9_7_Pz{o3_2?|kEpFk63JE#~vO-G5o7-)RWFR;PXS#(yG|tO93cvsW zAOOQr(H{((q*|6$RhCVYm|a)00^059K~ z`_do%$zR^S{pjhly(A3xXB!W8%c87`Dol&z!v$af01$xT$OPcEVH0edJUcJyRuUFf z?035{s}IKIY_z|z**kyfOj9kUNql)nS(VlDy{>-z=YM_kgIk~P?6s2hMcu#mY_T(* zH_s`mx__z#U;qF(fh>Z>F&0;)iK|(x4`xLxt)CyX&#%YvtO%{x$*Oi3H`VgI7h@5^ zvST-Ghj18ycX#r6Ue1$lyIOV_FY@KnV%gMBBSq+3;fUpaJL#m$b)KuL>ULYRX+E9ij~?#r?mqtaf4Vt(HrhD7@vFc4?XSOk zd4FxV%*Oq-ZkSA$QMs25JM}aVs|B(E0DzOpB3K+_gTZPMthgM>kS6ieu-EG(qy1SO zlJCEFcD)n-^S>Vb<3HT~;O{tC1 zKP{?P{mHdOumAwy#L)xHF&69ag)ZATnt#^qPWE6F&ko}D{iH@5nVy7TBovC+*wzMt<+7S(FZ^fxY~<5`uLvC~RxbAJHQWad(DOMti1KG==Zyq&!0Yjs{hITQJNOJFY?Dtola-C)=NXNvp>H1 zVE$s>B;R^EIjE|bCgE_CU;qF>0EQ!~tV5Qhop$@PySvNNDx5mC+3EK0?<_uhzMoa) zqfuT|%h|$PgJPT|Nr+iCh}CqO&wrcz{Os8%_BN9wDJuyW000DFIEuOVaNP2840KG} z(>$-z-l?_z+FIwu!L%IDrn7vysMFPMU)k#Q>3-4Nv)&Cwoo=jezWvQNi$$Y&vOUU@ zSQ-Zn0006o9AV4Y+HIwaGMqbecD^Wg_w(6oK7BdW_e<>0mgA;dd$eEGbzX(VVzIY>FwVas{l=Fuw|U*0RKslEZl(9`ecse= llCvfSv+)YQ1Q_@~`5%$Y(;&yV22ub3002ovPDHLkV1i&9wHE*Y delta 2958 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 Ef;xSr`Tzg` diff --git a/assets/cn/handler/MAP_STAR_3.png b/assets/cn/handler/MAP_STAR_3.png index cf6168a83497f7ea2ac13f610ae08c92bac9de46..181435caea9bf562e895d26d23915d9588cb5a0d 100644 GIT binary patch delta 2213 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 Ef*Mqy#Q*>R diff --git a/assets/jp/handler/MAP_STAR_1.png b/assets/jp/handler/MAP_STAR_1.png deleted file mode 100644 index 5510e61e65eebc963987383270cfe12f23768fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5607 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 P_G)ZscDYR7`Qd*6i{qdv diff --git a/assets/jp/handler/MAP_STAR_2.png b/assets/jp/handler/MAP_STAR_2.png deleted file mode 100644 index 12d0e3c2574574639449d5e0a2e6fa220f8b5605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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 diff --git a/assets/jp/handler/MAP_STAR_3.png b/assets/jp/handler/MAP_STAR_3.png deleted file mode 100644 index cf6168a83497f7ea2ac13f610ae08c92bac9de46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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 LZ+fLt*XiEB1qPBA diff --git a/assets/tw/handler/MAP_STAR_1.png b/assets/tw/handler/MAP_STAR_1.png deleted file mode 100644 index 5510e61e65eebc963987383270cfe12f23768fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5607 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 P_G)ZscDYR7`Qd*6i{qdv diff --git a/assets/tw/handler/MAP_STAR_2.png b/assets/tw/handler/MAP_STAR_2.png deleted file mode 100644 index 12d0e3c2574574639449d5e0a2e6fa220f8b5605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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 diff --git a/assets/tw/handler/MAP_STAR_3.png b/assets/tw/handler/MAP_STAR_3.png deleted file mode 100644 index cf6168a83497f7ea2ac13f610ae08c92bac9de46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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 LZ+fLt*XiEB1qPBA diff --git a/module/handler/assets.py b/module/handler/assets.py index 309b40928..e262ba7fd 100644 --- a/module/handler/assets.py +++ b/module/handler/assets.py @@ -63,9 +63,9 @@ MAP_BUFF = Button(area={'cn': (145, 115, 437, 159), 'en': (145, 115, 437, 159), MAP_CLEAR_PERCENTAGE = Button(area={'cn': (626, 185, 970, 190), 'en': (626, 185, 970, 190), 'jp': (626, 185, 970, 190), 'tw': (626, 185, 970, 190)}, color={'cn': (245, 213, 88), 'en': (245, 213, 88), 'jp': (245, 213, 88), 'tw': (245, 213, 88)}, button={'cn': (626, 185, 970, 190), 'en': (626, 185, 970, 190), 'jp': (626, 185, 970, 190), 'tw': (626, 185, 970, 190)}, file={'cn': './assets/cn/handler/MAP_CLEAR_PERCENTAGE.png', 'en': './assets/en/handler/MAP_CLEAR_PERCENTAGE.png', 'jp': './assets/jp/handler/MAP_CLEAR_PERCENTAGE.png', 'tw': './assets/tw/handler/MAP_CLEAR_PERCENTAGE.png'}) MAP_ENEMY_SEARCHING = Button(area={'cn': (617, 359, 651, 373), 'en': (589, 348, 602, 358), 'jp': (678, 358, 719, 368), 'tw': (678, 358, 719, 368)}, color={'cn': (237, 163, 159), 'en': (187, 130, 116), 'jp': (245, 172, 171), 'tw': (245, 172, 171)}, button={'cn': (617, 359, 651, 373), 'en': (589, 348, 602, 358), 'jp': (678, 358, 719, 368), 'tw': (678, 358, 719, 368)}, file={'cn': './assets/cn/handler/MAP_ENEMY_SEARCHING.png', 'en': './assets/en/handler/MAP_ENEMY_SEARCHING.png', 'jp': './assets/jp/handler/MAP_ENEMY_SEARCHING.png', 'tw': './assets/tw/handler/MAP_ENEMY_SEARCHING.png'}) MAP_GREEN = Button(area={'cn': (195, 260, 349, 292), 'en': (201, 259, 341, 290), 'jp': (242, 265, 323, 287), 'tw': (195, 260, 349, 292)}, color={'cn': (125, 190, 84), 'en': (104, 207, 104), 'jp': (143, 196, 109), 'tw': (125, 190, 84)}, button={'cn': (195, 260, 349, 292), 'en': (201, 259, 341, 290), 'jp': (242, 265, 323, 287), 'tw': (195, 260, 349, 292)}, file={'cn': './assets/cn/handler/MAP_GREEN.png', 'en': './assets/en/handler/MAP_GREEN.png', 'jp': './assets/jp/handler/MAP_GREEN.png', 'tw': './assets/tw/handler/MAP_GREEN.png'}) -MAP_STAR_1 = Button(area={'cn': (245, 377, 254, 384), 'en': (232, 381, 240, 389), 'jp': (245, 377, 254, 384), 'tw': (245, 377, 254, 384)}, color={'cn': (251, 233, 143), 'en': (252, 234, 146), 'jp': (251, 233, 143), 'tw': (251, 233, 143)}, button={'cn': (245, 377, 254, 384), 'en': (232, 381, 240, 389), 'jp': (245, 377, 254, 384), 'tw': (245, 377, 254, 384)}, file={'cn': './assets/cn/handler/MAP_STAR_1.png', 'en': './assets/en/handler/MAP_STAR_1.png', 'jp': './assets/jp/handler/MAP_STAR_1.png', 'tw': './assets/tw/handler/MAP_STAR_1.png'}) -MAP_STAR_2 = Button(area={'cn': (532, 377, 540, 384), 'en': (518, 382, 526, 389), 'jp': (532, 377, 540, 384), 'tw': (532, 377, 540, 384)}, color={'cn': (251, 233, 144), 'en': (252, 234, 144), 'jp': (251, 233, 144), 'tw': (251, 233, 144)}, button={'cn': (532, 377, 540, 384), 'en': (518, 382, 526, 389), 'jp': (532, 377, 540, 384), 'tw': (532, 377, 540, 384)}, file={'cn': './assets/cn/handler/MAP_STAR_2.png', 'en': './assets/en/handler/MAP_STAR_2.png', 'jp': './assets/jp/handler/MAP_STAR_2.png', 'tw': './assets/tw/handler/MAP_STAR_2.png'}) -MAP_STAR_3 = Button(area={'cn': (818, 377, 827, 384), 'en': (804, 382, 812, 389), 'jp': (818, 377, 827, 384), 'tw': (818, 377, 827, 384)}, color={'cn': (251, 233, 143), 'en': (252, 234, 144), 'jp': (251, 233, 143), 'tw': (251, 233, 143)}, button={'cn': (818, 377, 827, 384), 'en': (804, 382, 812, 389), 'jp': (818, 377, 827, 384), 'tw': (818, 377, 827, 384)}, file={'cn': './assets/cn/handler/MAP_STAR_3.png', 'en': './assets/en/handler/MAP_STAR_3.png', 'jp': './assets/jp/handler/MAP_STAR_3.png', 'tw': './assets/tw/handler/MAP_STAR_3.png'}) +MAP_STAR_1 = Button(area={'cn': (234, 365, 265, 394), 'en': (232, 381, 240, 389), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, color={'cn': (80, 69, 45), 'en': (252, 234, 146), 'jp': (80, 69, 45), 'tw': (80, 69, 45)}, button={'cn': (234, 365, 265, 394), 'en': (232, 381, 240, 389), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_1.png', 'en': './assets/en/handler/MAP_STAR_1.png', 'jp': './assets/cn/handler/MAP_STAR_1.png', 'tw': './assets/cn/handler/MAP_STAR_1.png'}) +MAP_STAR_2 = Button(area={'cn': (521, 365, 551, 394), 'en': (518, 382, 526, 389), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, color={'cn': (81, 69, 44), 'en': (252, 234, 144), 'jp': (81, 69, 44), 'tw': (81, 69, 44)}, button={'cn': (521, 365, 551, 394), 'en': (518, 382, 526, 389), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_2.png', 'en': './assets/en/handler/MAP_STAR_2.png', 'jp': './assets/cn/handler/MAP_STAR_2.png', 'tw': './assets/cn/handler/MAP_STAR_2.png'}) +MAP_STAR_3 = Button(area={'cn': (807, 365, 838, 394), 'en': (804, 382, 812, 389), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, color={'cn': (80, 68, 46), 'en': (252, 234, 144), 'jp': (80, 68, 46), 'tw': (80, 68, 46)}, button={'cn': (807, 365, 838, 394), 'en': (804, 382, 812, 389), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_3.png', 'en': './assets/en/handler/MAP_STAR_3.png', 'jp': './assets/cn/handler/MAP_STAR_3.png', 'tw': './assets/cn/handler/MAP_STAR_3.png'}) MAP_WALK_OUT_OF_STEP = Button(area={'cn': (654, 312, 704, 335), 'en': (454, 314, 698, 338), 'jp': (736, 312, 783, 336), 'tw': (653, 309, 705, 334)}, color={'cn': (109, 113, 120), 'en': (108, 109, 116), 'jp': (137, 135, 143), 'tw': (118, 124, 132)}, button={'cn': (654, 312, 704, 335), 'en': (454, 314, 698, 338), 'jp': (736, 312, 783, 336), 'tw': (653, 309, 705, 334)}, file={'cn': './assets/cn/handler/MAP_WALK_OUT_OF_STEP.png', 'en': './assets/en/handler/MAP_WALK_OUT_OF_STEP.png', 'jp': './assets/jp/handler/MAP_WALK_OUT_OF_STEP.png', 'tw': './assets/tw/handler/MAP_WALK_OUT_OF_STEP.png'}) MAP_WALK_SPEEDUP = Button(area={'cn': (1025, 406, 1055, 436), 'en': (1025, 406, 1055, 436), 'jp': (1025, 406, 1055, 436), 'tw': (1025, 406, 1055, 436)}, color={'cn': (62, 97, 72), 'en': (62, 97, 72), 'jp': (62, 97, 72), 'tw': (62, 97, 72)}, button={'cn': (1025, 406, 1055, 436), 'en': (1025, 406, 1055, 436), 'jp': (1025, 406, 1055, 436), 'tw': (1025, 406, 1055, 436)}, file={'cn': './assets/cn/handler/MAP_WALK_SPEEDUP.png', 'en': './assets/en/handler/MAP_WALK_SPEEDUP.png', 'jp': './assets/jp/handler/MAP_WALK_SPEEDUP.png', 'tw': './assets/tw/handler/MAP_WALK_SPEEDUP.png'}) MISSION_POPUP_ACK = Button(area={'cn': (432, 493, 543, 533), 'en': (413, 489, 566, 532), 'jp': (410, 482, 574, 539), 'tw': (441, 491, 536, 522)}, color={'cn': (181, 182, 184), 'en': (169, 170, 172), 'jp': (162, 164, 167), 'tw': (195, 195, 197)}, button={'cn': (432, 493, 543, 533), 'en': (413, 489, 566, 532), 'jp': (410, 482, 574, 539), 'tw': (441, 491, 536, 522)}, file={'cn': './assets/cn/handler/MISSION_POPUP_ACK.png', 'en': './assets/en/handler/MISSION_POPUP_ACK.png', 'jp': './assets/jp/handler/MISSION_POPUP_ACK.png', 'tw': './assets/tw/handler/MISSION_POPUP_ACK.png'}) diff --git a/module/handler/fast_forward.py b/module/handler/fast_forward.py index 426dba5b5..fd42d27cb 100644 --- a/module/handler/fast_forward.py +++ b/module/handler/fast_forward.py @@ -133,9 +133,9 @@ class FastForwardHandler(AutoSearchHandler): | INFO | [Map_info] 98%, star_1, star_2, star_3, clear, 3_star, green, fast_forward """ self.map_clear_percentage = self.get_map_clear_percentage() - self.map_achieved_star_1 = self.appear(MAP_STAR_1) - self.map_achieved_star_2 = self.appear(MAP_STAR_2) - self.map_achieved_star_3 = self.appear(MAP_STAR_3) + self.map_achieved_star_1 = self._is_map_star_active(MAP_STAR_1) + self.map_achieved_star_2 = self._is_map_star_active(MAP_STAR_2) + self.map_achieved_star_3 = self._is_map_star_active(MAP_STAR_3) self.map_is_100_percent_clear = self.map_clear_percentage > 0.95 self.map_is_3_stars = self.map_achieved_star_1 and self.map_achieved_star_2 and self.map_achieved_star_3 self.map_is_threat_safe = self.appear(MAP_GREEN) @@ -209,6 +209,9 @@ class FastForwardHandler(AutoSearchHandler): self.map_wait_auto_search() return changed + def _is_map_star_active(self, button): + return self.image_color_count(button, color=(250, 232, 140), threshold=180, count=35) + def handle_map_fleet_lock(self, enable=None): """ Args: From d113f71a3d8d96cb317507426c321b345622a6a2 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Sep 2025 23:59:23 +0800 Subject: [PATCH 14/33] Fix: Use template matching in MAP_GREEN --- assets/cn/handler/MAP_GREEN.png | Bin 11381 -> 5865 bytes assets/en/handler/MAP_GREEN.png | Bin 7461 -> 5032 bytes assets/tw/handler/MAP_GREEN.png | Bin 11381 -> 5865 bytes module/handler/assets.py | 2 +- module/handler/fast_forward.py | 2 +- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/cn/handler/MAP_GREEN.png b/assets/cn/handler/MAP_GREEN.png index 895153034bcc7c6d41ae1b7d3614990d01ab04cd..a8b0847e9e74bed213309726046200ea7cdb54be 100644 GIT binary patch delta 3266 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 VnK_Ese;)t<002ovPDHLkV1oQz8z%q& literal 7461 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 J_s2`W{U5>?b7cSk diff --git a/assets/tw/handler/MAP_GREEN.png b/assets/tw/handler/MAP_GREEN.png index 895153034bcc7c6d41ae1b7d3614990d01ab04cd..a8b0847e9e74bed213309726046200ea7cdb54be 100644 GIT binary patch delta 3266 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 0.95 self.map_is_3_stars = self.map_achieved_star_1 and self.map_achieved_star_2 and self.map_achieved_star_3 - self.map_is_threat_safe = self.appear(MAP_GREEN) + self.map_is_threat_safe = self.appear(MAP_GREEN, offset=(20, 20)) if self.config.Campaign_Name.lower() == 'sp': # Minor issue here # Using auto_search option because clear mode cannot be detected whether on SP From 3af6f683c3d9075eee466150aaa821bcef59ccbb Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 00:11:35 +0800 Subject: [PATCH 15/33] Add: Chapter A --- campaign/event_20250912_cn/a1.py | 95 +++++++++++++++++++++ campaign/event_20250912_cn/a2.py | 75 ++++++++++++++++ campaign/event_20250912_cn/a3.py | 75 ++++++++++++++++ campaign/event_20250912_cn/campaign_base.py | 11 +++ 4 files changed, 256 insertions(+) create mode 100644 campaign/event_20250912_cn/a1.py create mode 100644 campaign/event_20250912_cn/a2.py create mode 100644 campaign/event_20250912_cn/a3.py create mode 100644 campaign/event_20250912_cn/campaign_base.py diff --git a/campaign/event_20250912_cn/a1.py b/campaign/event_20250912_cn/a1.py new file mode 100644 index 000000000..a129f3968 --- /dev/null +++ b/campaign/event_20250912_cn/a1.py @@ -0,0 +1,95 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger + +MAP = CampaignMap('A1') +MAP.shape = 'I8' +MAP.camera_data = ['D2', 'D6', 'F2', 'F6'] +MAP.camera_data_spawn_point = ['D2'] +MAP.map_data = """ + -- ++ -- SP -- SP ++ ++ ++ + -- ++ Me -- __ -- Me -- Me + -- Me -- -- MS -- -- ME -- + -- -- -- MS -- MS -- -- -- + ME ME -- ++ ++ ++ ++ -- ++ + ++ ++ -- -- ME ++ ME -- ME + ++ ++ -- -- -- -- -- MB -- + -- -- ME -- ME ++ ME -- ME +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 1}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 1}, + {'battle': 3, 'enemy': 1, 'boss': 1}, + {'battle': 4, 'enemy': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, \ + = MAP.flatten() + + +class Config: + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_CHAPTER_SWITCH_20241219 = True + STAGE_ENTRANCE = ['half', '20240725'] + MAP_HAS_MODE_SWITCH = True + STAGE_INCREASE_AB = True + INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (80, 255 - 33), + 'width': (0.9, 10), + 'prominence': 10, + 'distance': 35, + } + EDGE_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (255 - 33, 255), + 'prominence': 10, + 'distance': 50, + 'wlen': 1000 + } + MAP_SIREN_HAS_BOSS_ICON_SMALL = True + MAP_SWIPE_MULTIPLY = (1.212, 1.235) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.172, 1.194) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.138, 1.158) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_3(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/a2.py b/campaign/event_20250912_cn/a2.py new file mode 100644 index 000000000..9ae38c7dd --- /dev/null +++ b/campaign/event_20250912_cn/a2.py @@ -0,0 +1,75 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .a1 import Config as ConfigBase + +MAP = CampaignMap('A2') +MAP.shape = 'I8' +MAP.camera_data = ['D2', 'F2', 'E6'] +MAP.camera_data_spawn_point = ['D2'] +MAP.map_data = """ + -- SP ++ -- ME -- ME ++ -- + SP -- -- MS -- -- -- ME -- + ++ -- MS -- ++ ++ ME -- ME + -- MS -- __ MB ++ ++ -- ++ + -- Me -- Me -- ME -- -- ME + -- ++ -- -- Me -- -- ME -- + -- ++ Me -- -- -- ME ++ -- + -- -- -- -- ME -- -- ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 1}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 1}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_4(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/a3.py b/campaign/event_20250912_cn/a3.py new file mode 100644 index 000000000..c21e95da2 --- /dev/null +++ b/campaign/event_20250912_cn/a3.py @@ -0,0 +1,75 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .a1 import Config as ConfigBase + +MAP = CampaignMap('A3') +MAP.shape = 'J8' +MAP.camera_data = ['D2', 'D6', 'G2', 'G6'] +MAP.camera_data_spawn_point = ['D2', 'D6'] +MAP.map_data = """ + -- -- ++ ++ ++ ME -- ME -- -- + -- Me -- Me -- ME -- ++ ++ -- + -- -- MS -- -- -- -- MB ++ ME + SP -- -- MS ++ Me __ -- ME -- + SP -- -- MS ++ ME -- -- -- -- + -- -- MS -- -- -- -- ME -- ME + -- Me ++ ++ Me -- ++ -- ++ -- + -- -- ++ ++ -- -- ME -- ME -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 1}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 1}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_4(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/campaign_base.py b/campaign/event_20250912_cn/campaign_base.py new file mode 100644 index 000000000..e1522a3f5 --- /dev/null +++ b/campaign/event_20250912_cn/campaign_base.py @@ -0,0 +1,11 @@ +from module.ui.page import page_event +from module.campaign.campaign_base import CampaignBase as CampaignBase_ + + +class CampaignBase(CampaignBase_): + + def handle_exp_info(self): + # Random background hits EXP_INFO_B + if self.ui_page_appear(page_event): + return False + return super().handle_exp_info() From b5cf4a4c3c4245694b232eab1cc3d0175b3cf650 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 00:56:56 +0800 Subject: [PATCH 16/33] Add: Chapter B --- campaign/event_20250912_cn/a2.py | 4 ++ campaign/event_20250912_cn/a3.py | 6 +- campaign/event_20250912_cn/b1.py | 97 ++++++++++++++++++++++++++++++++ campaign/event_20250912_cn/b2.py | 80 ++++++++++++++++++++++++++ campaign/event_20250912_cn/b3.py | 83 +++++++++++++++++++++++++++ 5 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 campaign/event_20250912_cn/b1.py create mode 100644 campaign/event_20250912_cn/b2.py create mode 100644 campaign/event_20250912_cn/b3.py diff --git a/campaign/event_20250912_cn/a2.py b/campaign/event_20250912_cn/a2.py index 9ae38c7dd..bef257fb3 100644 --- a/campaign/event_20250912_cn/a2.py +++ b/campaign/event_20250912_cn/a2.py @@ -58,6 +58,10 @@ class Config(ConfigBase): MAP_HAS_MYSTERY = False # ===== End of generated config ===== + MAP_SWIPE_MULTIPLY = (1.224, 1.247) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.184, 1.206) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.149, 1.170) + class Campaign(CampaignBase): MAP = MAP diff --git a/campaign/event_20250912_cn/a3.py b/campaign/event_20250912_cn/a3.py index c21e95da2..0954bc47b 100644 --- a/campaign/event_20250912_cn/a3.py +++ b/campaign/event_20250912_cn/a3.py @@ -7,7 +7,7 @@ from .a1 import Config as ConfigBase MAP = CampaignMap('A3') MAP.shape = 'J8' MAP.camera_data = ['D2', 'D6', 'G2', 'G6'] -MAP.camera_data_spawn_point = ['D2', 'D6'] +MAP.camera_data_spawn_point = ['D4'] MAP.map_data = """ -- -- ++ ++ ++ ME -- ME -- -- -- Me -- Me -- ME -- ++ ++ -- @@ -58,6 +58,10 @@ class Config(ConfigBase): MAP_HAS_MYSTERY = False # ===== End of generated config ===== + MAP_SWIPE_MULTIPLY = (1.127, 1.148) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.090, 1.110) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.058, 1.077) + class Campaign(CampaignBase): MAP = MAP diff --git a/campaign/event_20250912_cn/b1.py b/campaign/event_20250912_cn/b1.py new file mode 100644 index 000000000..74a38f96f --- /dev/null +++ b/campaign/event_20250912_cn/b1.py @@ -0,0 +1,97 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger + +MAP = CampaignMap('B1') +MAP.shape = 'J8' +MAP.camera_data = ['E3', 'E6', 'G3', 'G6'] +MAP.camera_data_spawn_point = ['E6'] +MAP.map_data = """ + -- -- ++ ++ ++ Me -- ++ -- -- + -- MB -- -- Me -- -- -- ME -- + ++ ++ -- Me -- -- -- ME -- -- + ++ ++ -- ++ ME __ ME ++ ++ -- + -- -- MS -- MS -- -- ME ++ ME + -- Me -- MS -- Me -- -- -- -- + -- ++ -- -- -- ++ ME -- ME -- + -- ++ SP -- SP ++ -- ME ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 1}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2, 'boss': 1}, + {'battle': 5, 'enemy': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config: + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_CHAPTER_SWITCH_20241219 = True + STAGE_ENTRANCE = ['half', '20240725'] + MAP_HAS_MODE_SWITCH = True + STAGE_INCREASE_AB = True + INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (80, 255 - 17), + 'width': (0.9, 10), + 'prominence': 10, + 'distance': 35, + } + EDGE_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (255 - 17, 255), + 'prominence': 10, + 'distance': 50, + 'wlen': 1000 + } + HOMO_EDGE_COLOR_RANGE = (0, 17) + MAP_WALK_USE_CURRENT_FLEET = True + MAP_SWIPE_MULTIPLY = (1.078, 1.099) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.043, 1.062) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.013, 1.031) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_4(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/b2.py b/campaign/event_20250912_cn/b2.py new file mode 100644 index 000000000..43612be43 --- /dev/null +++ b/campaign/event_20250912_cn/b2.py @@ -0,0 +1,80 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .b1 import Config as ConfigBase + +MAP = CampaignMap('B2') +MAP.shape = 'J8' +MAP.camera_data = ['E2', 'E6', 'G4'] +MAP.camera_data_spawn_point = ['G6'] +MAP.map_data = """ + ++ -- ME ++ -- ++ ++ ++ -- -- + -- ++ -- -- ME -- MB -- -- -- + -- ME -- ME ++ ME -- ME ++ ++ + -- ME -- -- Me -- __ -- ME ++ + ++ ++ ME -- -- MS -- MS -- Me + ++ ++ -- -- Me -- MS -- Me -- + -- ME -- Me ++ -- -- -- ++ -- + -- -- ME -- ++ SP -- SP ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 1}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2}, + {'battle': 5, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.086, 1.106) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.050, 1.069) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.019, 1.038) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_5(self): + return self.fleet_boss.clear_boss() diff --git a/campaign/event_20250912_cn/b3.py b/campaign/event_20250912_cn/b3.py new file mode 100644 index 000000000..01eccfed3 --- /dev/null +++ b/campaign/event_20250912_cn/b3.py @@ -0,0 +1,83 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .b1 import Config as ConfigBase + +MAP = CampaignMap('B3') +MAP.shape = 'K9' +MAP.camera_data = ['F2', 'F5', 'F7', 'D5'] +MAP.camera_data_spawn_point = ['I5'] +MAP.map_data = """ + -- -- ++ -- -- ME -- ME -- ++ -- + -- ++ ++ ME -- ++ ++ ++ -- -- ++ + ++ ++ ++ ME -- -- Me -- MS -- ++ + -- -- ME -- -- Me ++ MS -- -- SP + MB -- -- -- -- -- -- -- -- __ -- + -- -- ME -- -- Me ++ MS -- -- SP + ++ ++ ++ ME -- -- Me -- MS -- ++ + -- ++ ++ ME -- ++ ++ ++ -- -- ++ + -- -- ++ -- -- ME -- ME -- ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2}, + {'battle': 5, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \ +A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.109, 1.130) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.073, 1.093) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.042, 1.060) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_5(self): + return self.fleet_boss.clear_boss() From edc2d98d6d9cb3c56b017c56c180dacffd5b83e8 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 01:03:53 +0800 Subject: [PATCH 17/33] Add: TEMPLATE_SIREN_BlackDragonBoss02 --- assets/cn/handler/AUTO_SEARCH_OFF.png | Bin 5574 -> 2853 bytes assets/cn/handler/AUTO_SEARCH_ON.png | Bin 5636 -> 2915 bytes .../TEMPLATE_SIREN_BlackDragonBoss02.gif | Bin 0 -> 3496 bytes .../TEMPLATE_SIREN_BlackDragonBoss02.gif | Bin 0 -> 3496 bytes .../TEMPLATE_SIREN_BlackDragonBoss02.gif | Bin 0 -> 3496 bytes .../TEMPLATE_SIREN_BlackDragonBoss02.gif | Bin 0 -> 3496 bytes module/template/assets.py | 1 + 7 files changed, 1 insertion(+) create mode 100644 assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss02.gif create mode 100644 assets/en/template/TEMPLATE_SIREN_BlackDragonBoss02.gif create mode 100644 assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss02.gif create mode 100644 assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss02.gif diff --git a/assets/cn/handler/AUTO_SEARCH_OFF.png b/assets/cn/handler/AUTO_SEARCH_OFF.png index 673346bd6173e0fd407c65d5fc579abfe67d6546..d37067c86128bba1fe42117c724ccb5d3daa7257 100644 GIT binary patch delta 42 xcmX@6y;N+1GAGv?PZ!6Kid%0tALDw;CBkpQqwTYp$%p|6JYD@<);T3K0RTpN4b=bu delta 2783 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 a^Y|}p6Z+8hccm53I0jEwKbLh*2~7YyqGSR9 delta 3021 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 P00000NkvXXu0mjfEf}!> diff --git a/assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss02.gif b/assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss02.gif new file mode 100644 index 0000000000000000000000000000000000000000..e7768c8e2d69d6e52a239d15e6556b592fe0eeb2 GIT binary patch literal 3496 zcmeI#>rY$f0mpG4`}l@!IKB`&;J`V)VG}Mkx0p+&WBV9iFklP;laR~}PtYe*VXq!%ZLE33*tGxi*i%i-VP*qwxO%t$-m{d(9ois9O%1-5JsxF_;?FwN4>{MVKNG=H}*RXJ=<-W~Qg7Baz6|)YRnUWH=lSg+jq# zFc1j%{eGX%cjwNX+qZAux^-(}V&dk_n>TLUxPJY**XzA@?b`VG_}JLk=;)~1?H(B! z>F@8qc=2LyZ?D7QxNzaZ*|TS@R;$HgX=-XRo6RPZ$!Ihh42H(WMhwFm8XD^A>S}9i zPn|kdQ&Ur2U0qdGRaseCQBk2%sgz1(Sy@?0Ny*8RCyR@V6$*u1E-xx7lF4LJsZ=77 zh{a-&NQ58=48w(mg#`r#Cr+FY3WfRk`FVMH$B!Qu2n2jS|Jbo(xw*MK9*@iAve|41 zf^u?lva_>UEEbc=WH1<6Sy?n1jY_3bC=@c841yquL?RN2000nPo^SLGATJm#`i^#; z#;UIlo)db5qA)i@JYeR1qm*5>p`g(Ze`6&4FugE8B>DTP(4D zWfzL3rg`v6vn8#3kFg{*MoTVyA=zT*SI+RBA|RbBZ%n*F_gv_2xKtjG=kn#t!^6XuE?pWN92^)Jz{%?C>%-M@I-TdwpFel* zTz7Z3-EQyd>gwp|Xm4+~*=#ss&CSiYV;RA4zEBj!`Kqt4SF6=HUwhI9xbcFTMIkxskj~^)^(dTrKM^V*q!WuD3+7cyZyVwul6YmXQ0;>gAorM2YmKF5_!W-9 zC$LBQGk`AAZZE5J6e68o{8OXGq0KEe{&1l?q561U?rJHC9mbMN3fqtXMR!R{9Ll=Y zvyY`;mDwY0rXo>s^WmP@vOf(9h*D1~ zXksE5gqsR-cBOkDubH-!%sKtVww^~`Y$IR&GWQ^ugC4m-&h}|U&kHvj9gu!#kIYv; z<3s-fp?ml4Wf1zeTInA`DI?I8D_1hPggb;6)6mcm?huZU%jL>+6OK?%PY>=8UQeB! zoj5!xnF1P(`xbRc*>M((Y@?ba6>527Y<;&E1J0|*pC@+608hcg zB7{}IOjB@0@`Vb`D+=MJZ%_Ro{TiDg>wz_^XaKB7#=HQ$dcUA0VR@QhGiFa38;tL- zuZB2z)f0`eb?xIx@XYJ#-#f$R=$kF^kpC$`N6tomtlrY>`v9nWZe>~Pn&uQ~Bk&{6 zWAm%ZV$nc)7iKQW^xo}VfNZ`mZyx`pHI79V5!;7?EsjhdX5=+YcoJ({oTBs(s!UOA ziCSu~=utwq>kO`O|Clu)xJ(zyln8NyurvSrQaw7Jp{ zqFeqpcExOcJLz9Jjo1ZdfhH9^cz&p3Yd}@%x&eL!aoU4511NpWiM;yXG9`%0(E*XYc literal 0 HcmV?d00001 diff --git a/assets/en/template/TEMPLATE_SIREN_BlackDragonBoss02.gif b/assets/en/template/TEMPLATE_SIREN_BlackDragonBoss02.gif new file mode 100644 index 0000000000000000000000000000000000000000..e7768c8e2d69d6e52a239d15e6556b592fe0eeb2 GIT binary patch literal 3496 zcmeI#>rY$f0mpG4`}l@!IKB`&;J`V)VG}Mkx0p+&WBV9iFklP;laR~}PtYe*VXq!%ZLE33*tGxi*i%i-VP*qwxO%t$-m{d(9ois9O%1-5JsxF_;?FwN4>{MVKNG=H}*RXJ=<-W~Qg7Baz6|)YRnUWH=lSg+jq# zFc1j%{eGX%cjwNX+qZAux^-(}V&dk_n>TLUxPJY**XzA@?b`VG_}JLk=;)~1?H(B! z>F@8qc=2LyZ?D7QxNzaZ*|TS@R;$HgX=-XRo6RPZ$!Ihh42H(WMhwFm8XD^A>S}9i zPn|kdQ&Ur2U0qdGRaseCQBk2%sgz1(Sy@?0Ny*8RCyR@V6$*u1E-xx7lF4LJsZ=77 zh{a-&NQ58=48w(mg#`r#Cr+FY3WfRk`FVMH$B!Qu2n2jS|Jbo(xw*MK9*@iAve|41 zf^u?lva_>UEEbc=WH1<6Sy?n1jY_3bC=@c841yquL?RN2000nPo^SLGATJm#`i^#; z#;UIlo)db5qA)i@JYeR1qm*5>p`g(Ze`6&4FugE8B>DTP(4D zWfzL3rg`v6vn8#3kFg{*MoTVyA=zT*SI+RBA|RbBZ%n*F_gv_2xKtjG=kn#t!^6XuE?pWN92^)Jz{%?C>%-M@I-TdwpFel* zTz7Z3-EQyd>gwp|Xm4+~*=#ss&CSiYV;RA4zEBj!`Kqt4SF6=HUwhI9xbcFTMIkxskj~^)^(dTrKM^V*q!WuD3+7cyZyVwul6YmXQ0;>gAorM2YmKF5_!W-9 zC$LBQGk`AAZZE5J6e68o{8OXGq0KEe{&1l?q561U?rJHC9mbMN3fqtXMR!R{9Ll=Y zvyY`;mDwY0rXo>s^WmP@vOf(9h*D1~ zXksE5gqsR-cBOkDubH-!%sKtVww^~`Y$IR&GWQ^ugC4m-&h}|U&kHvj9gu!#kIYv; z<3s-fp?ml4Wf1zeTInA`DI?I8D_1hPggb;6)6mcm?huZU%jL>+6OK?%PY>=8UQeB! zoj5!xnF1P(`xbRc*>M((Y@?ba6>527Y<;&E1J0|*pC@+608hcg zB7{}IOjB@0@`Vb`D+=MJZ%_Ro{TiDg>wz_^XaKB7#=HQ$dcUA0VR@QhGiFa38;tL- zuZB2z)f0`eb?xIx@XYJ#-#f$R=$kF^kpC$`N6tomtlrY>`v9nWZe>~Pn&uQ~Bk&{6 zWAm%ZV$nc)7iKQW^xo}VfNZ`mZyx`pHI79V5!;7?EsjhdX5=+YcoJ({oTBs(s!UOA ziCSu~=utwq>kO`O|Clu)xJ(zyln8NyurvSrQaw7Jp{ zqFeqpcExOcJLz9Jjo1ZdfhH9^cz&p3Yd}@%x&eL!aoU4511NpWiM;yXG9`%0(E*XYc literal 0 HcmV?d00001 diff --git a/assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss02.gif b/assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss02.gif new file mode 100644 index 0000000000000000000000000000000000000000..e7768c8e2d69d6e52a239d15e6556b592fe0eeb2 GIT binary patch literal 3496 zcmeI#>rY$f0mpG4`}l@!IKB`&;J`V)VG}Mkx0p+&WBV9iFklP;laR~}PtYe*VXq!%ZLE33*tGxi*i%i-VP*qwxO%t$-m{d(9ois9O%1-5JsxF_;?FwN4>{MVKNG=H}*RXJ=<-W~Qg7Baz6|)YRnUWH=lSg+jq# zFc1j%{eGX%cjwNX+qZAux^-(}V&dk_n>TLUxPJY**XzA@?b`VG_}JLk=;)~1?H(B! z>F@8qc=2LyZ?D7QxNzaZ*|TS@R;$HgX=-XRo6RPZ$!Ihh42H(WMhwFm8XD^A>S}9i zPn|kdQ&Ur2U0qdGRaseCQBk2%sgz1(Sy@?0Ny*8RCyR@V6$*u1E-xx7lF4LJsZ=77 zh{a-&NQ58=48w(mg#`r#Cr+FY3WfRk`FVMH$B!Qu2n2jS|Jbo(xw*MK9*@iAve|41 zf^u?lva_>UEEbc=WH1<6Sy?n1jY_3bC=@c841yquL?RN2000nPo^SLGATJm#`i^#; z#;UIlo)db5qA)i@JYeR1qm*5>p`g(Ze`6&4FugE8B>DTP(4D zWfzL3rg`v6vn8#3kFg{*MoTVyA=zT*SI+RBA|RbBZ%n*F_gv_2xKtjG=kn#t!^6XuE?pWN92^)Jz{%?C>%-M@I-TdwpFel* zTz7Z3-EQyd>gwp|Xm4+~*=#ss&CSiYV;RA4zEBj!`Kqt4SF6=HUwhI9xbcFTMIkxskj~^)^(dTrKM^V*q!WuD3+7cyZyVwul6YmXQ0;>gAorM2YmKF5_!W-9 zC$LBQGk`AAZZE5J6e68o{8OXGq0KEe{&1l?q561U?rJHC9mbMN3fqtXMR!R{9Ll=Y zvyY`;mDwY0rXo>s^WmP@vOf(9h*D1~ zXksE5gqsR-cBOkDubH-!%sKtVww^~`Y$IR&GWQ^ugC4m-&h}|U&kHvj9gu!#kIYv; z<3s-fp?ml4Wf1zeTInA`DI?I8D_1hPggb;6)6mcm?huZU%jL>+6OK?%PY>=8UQeB! zoj5!xnF1P(`xbRc*>M((Y@?ba6>527Y<;&E1J0|*pC@+608hcg zB7{}IOjB@0@`Vb`D+=MJZ%_Ro{TiDg>wz_^XaKB7#=HQ$dcUA0VR@QhGiFa38;tL- zuZB2z)f0`eb?xIx@XYJ#-#f$R=$kF^kpC$`N6tomtlrY>`v9nWZe>~Pn&uQ~Bk&{6 zWAm%ZV$nc)7iKQW^xo}VfNZ`mZyx`pHI79V5!;7?EsjhdX5=+YcoJ({oTBs(s!UOA ziCSu~=utwq>kO`O|Clu)xJ(zyln8NyurvSrQaw7Jp{ zqFeqpcExOcJLz9Jjo1ZdfhH9^cz&p3Yd}@%x&eL!aoU4511NpWiM;yXG9`%0(E*XYc literal 0 HcmV?d00001 diff --git a/assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss02.gif b/assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss02.gif new file mode 100644 index 0000000000000000000000000000000000000000..e7768c8e2d69d6e52a239d15e6556b592fe0eeb2 GIT binary patch literal 3496 zcmeI#>rY$f0mpG4`}l@!IKB`&;J`V)VG}Mkx0p+&WBV9iFklP;laR~}PtYe*VXq!%ZLE33*tGxi*i%i-VP*qwxO%t$-m{d(9ois9O%1-5JsxF_;?FwN4>{MVKNG=H}*RXJ=<-W~Qg7Baz6|)YRnUWH=lSg+jq# zFc1j%{eGX%cjwNX+qZAux^-(}V&dk_n>TLUxPJY**XzA@?b`VG_}JLk=;)~1?H(B! z>F@8qc=2LyZ?D7QxNzaZ*|TS@R;$HgX=-XRo6RPZ$!Ihh42H(WMhwFm8XD^A>S}9i zPn|kdQ&Ur2U0qdGRaseCQBk2%sgz1(Sy@?0Ny*8RCyR@V6$*u1E-xx7lF4LJsZ=77 zh{a-&NQ58=48w(mg#`r#Cr+FY3WfRk`FVMH$B!Qu2n2jS|Jbo(xw*MK9*@iAve|41 zf^u?lva_>UEEbc=WH1<6Sy?n1jY_3bC=@c841yquL?RN2000nPo^SLGATJm#`i^#; z#;UIlo)db5qA)i@JYeR1qm*5>p`g(Ze`6&4FugE8B>DTP(4D zWfzL3rg`v6vn8#3kFg{*MoTVyA=zT*SI+RBA|RbBZ%n*F_gv_2xKtjG=kn#t!^6XuE?pWN92^)Jz{%?C>%-M@I-TdwpFel* zTz7Z3-EQyd>gwp|Xm4+~*=#ss&CSiYV;RA4zEBj!`Kqt4SF6=HUwhI9xbcFTMIkxskj~^)^(dTrKM^V*q!WuD3+7cyZyVwul6YmXQ0;>gAorM2YmKF5_!W-9 zC$LBQGk`AAZZE5J6e68o{8OXGq0KEe{&1l?q561U?rJHC9mbMN3fqtXMR!R{9Ll=Y zvyY`;mDwY0rXo>s^WmP@vOf(9h*D1~ zXksE5gqsR-cBOkDubH-!%sKtVww^~`Y$IR&GWQ^ugC4m-&h}|U&kHvj9gu!#kIYv; z<3s-fp?ml4Wf1zeTInA`DI?I8D_1hPggb;6)6mcm?huZU%jL>+6OK?%PY>=8UQeB! zoj5!xnF1P(`xbRc*>M((Y@?ba6>527Y<;&E1J0|*pC@+608hcg zB7{}IOjB@0@`Vb`D+=MJZ%_Ro{TiDg>wz_^XaKB7#=HQ$dcUA0VR@QhGiFa38;tL- zuZB2z)f0`eb?xIx@XYJ#-#f$R=$kF^kpC$`N6tomtlrY>`v9nWZe>~Pn&uQ~Bk&{6 zWAm%ZV$nc)7iKQW^xo}VfNZ`mZyx`pHI79V5!;7?EsjhdX5=+YcoJ({oTBs(s!UOA ziCSu~=utwq>kO`O|Clu)xJ(zyln8NyurvSrQaw7Jp{ zqFeqpcExOcJLz9Jjo1ZdfhH9^cz&p3Yd}@%x&eL!aoU4511NpWiM;yXG9`%0(E*XYc literal 0 HcmV?d00001 diff --git a/module/template/assets.py b/module/template/assets.py index 18639e868..a03474831 100644 --- a/module/template/assets.py +++ b/module/template/assets.py @@ -65,6 +65,7 @@ TEMPLATE_SIREN_BBpurple = Template(file={'cn': './assets/cn/template/TEMPLATE_SI TEMPLATE_SIREN_BBred = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BBred.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BBred.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BBred.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BBred.gif'}) TEMPLATE_SIREN_BaltimoreIdol = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BaltimoreIdol.gif'}) TEMPLATE_SIREN_Bellona = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_Bellona.gif', 'en': './assets/en/template/TEMPLATE_SIREN_Bellona.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_Bellona.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_Bellona.gif'}) +TEMPLATE_SIREN_BlackDragonBoss02 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss02.gif'}) TEMPLATE_SIREN_BolzanoAlter = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BolzanoAlter.gif'}) TEMPLATE_SIREN_CA = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_CA.gif', 'en': './assets/en/template/TEMPLATE_SIREN_CA.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_CA.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_CA.gif'}) TEMPLATE_SIREN_CAalchemist = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_CAalchemist.gif', 'en': './assets/en/template/TEMPLATE_SIREN_CAalchemist.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_CAalchemist.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_CAalchemist.gif'}) From 59393d6d31db890d004c3558a5b4b7158fcf42f5 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 01:09:58 +0800 Subject: [PATCH 18/33] Fix: AUTO_SEARCH for minor icon shift (#5126) --- .../handler/AUTO_SEARCH_OFF2.png} | Bin 2927 -> 2909 bytes .../handler/AUTO_SEARCH_OFF3.png} | Bin 2955 -> 2930 bytes assets/cn/handler/AUTO_SEARCH_ON2.png | Bin 0 -> 2922 bytes assets/cn/handler/AUTO_SEARCH_ON3.png | Bin 0 -> 2953 bytes assets/jp/handler/AUTO_SEARCH_ON.png | Bin 5631 -> 0 bytes assets/tw/handler/AUTO_SEARCH_ON.png | Bin 5636 -> 0 bytes module/handler/assets.py | 8 ++++++-- module/handler/fast_forward.py | 6 +++++- 8 files changed, 11 insertions(+), 3 deletions(-) rename assets/{en/handler/AUTO_SEARCH_OFF.png => cn/handler/AUTO_SEARCH_OFF2.png} (85%) rename assets/{en/handler/AUTO_SEARCH_ON.png => cn/handler/AUTO_SEARCH_OFF3.png} (82%) create mode 100644 assets/cn/handler/AUTO_SEARCH_ON2.png create mode 100644 assets/cn/handler/AUTO_SEARCH_ON3.png delete mode 100644 assets/jp/handler/AUTO_SEARCH_ON.png delete mode 100644 assets/tw/handler/AUTO_SEARCH_ON.png diff --git a/assets/en/handler/AUTO_SEARCH_OFF.png b/assets/cn/handler/AUTO_SEARCH_OFF2.png similarity index 85% rename from assets/en/handler/AUTO_SEARCH_OFF.png rename to assets/cn/handler/AUTO_SEARCH_OFF2.png index 87fd9e9d9b0ae0a7144c47d1e8fcdf2e2ed26623..7b46a14f253bbbcc1079ea40f2b0e32eaa1a0c53 100644 GIT binary patch delta 275 zcmaDac2{hIin)rXi(^Q|t+#g<@--WXuwK~cv*n}@tNhLn@o)4ECVT%7WDzpn*y$;u zsNyYsE>P4z_UK#h7cW^hCbn`+EMTiY5E!Dwz>sjwqG$HA;JGbqPu?goF)&Ok>0ej> zZFREYv1ivhxC0s(88ogg|GVvbS*cFT0tV)v*4+#Y3=PT~7}*#eOn>>+)+N5r;b9I? z*^O&0j3Nm@Nst}}2cSFy1FHm(015s(S-%0qYfzq1lCU5pu9%s@Fd>}%o1H-bmo!lR zTWFGX;sSwpuNfF3M3Q~3Z?F<`njku1zZVMw!x^de!pk+QCSTZ?xPehz!9M>&uPnQc SkKan5*$kepelF{r5}E)Or)6LO delta 292 zcmcaB_Fim)ikX?Gi(^Q|oVRxs`3^Y{VQ|J&Mg`Rk2|tsD~z*y}TnCcR@|V7MZscX-LqO`7puOad3PKq5W`HnP8q z?X9L2-^(qxKfx@}!NkKL;939fd;8xP5ni5*Y!w^lSOXO@{AuDfU~n+Fe*3Xv^;G5= zhu9<-6jr4Rvn^-?>R@mX7D)gqnzev|nStQ~3#$YJLxY;e0S1PNKl#NRoK1lO3LCPQ zGc#W)vf*P;*!G?8jh(>(cQc@h|Ho<*8v1MGSQt7~p2u9vEYVr|QL^Eh&NDusv1=b1 o`OMOv{b{Mn#>5Sb;tn$9p_63U8NbJ{18rmQboFyt=akR{0Nl}OUjP6A diff --git a/assets/en/handler/AUTO_SEARCH_ON.png b/assets/cn/handler/AUTO_SEARCH_OFF3.png similarity index 82% rename from assets/en/handler/AUTO_SEARCH_ON.png rename to assets/cn/handler/AUTO_SEARCH_OFF3.png index 5800256f3122a552cb1670d14287f57e0da33b69..2ca3bf763ec79bd87161377932e69a4e45cd600f 100644 GIT binary patch delta 295 zcmeAc|0Fg+#n{r*#WAGf*4sOVd`$)t4S@#hEDrwcaTD%OfApwRMbO6i>Wc*{HqO4Z zPn@mI@Ba~YU0249g-sk28`$b&rnoUM9B{ZlKhIpTWyV+EU}>oj|CfQpRy*I;3!DA^ z^{J%&x241lxP+A%7#JKFm>DK4J~8(^1Cs$o20*OuGw$O+J zEAwZwFLII)IKaS=GV2IfywDGI^IN6uz8f?! zurVm~%E`IqUpNG2Z~aia{bA%+u+b`KR%Pv-WBrmyndFz#>6^~i3NQ1D~{@XXJBAhclG`6!0&JO z?7b+|AY{6eoq@sN(6j8zxw{W;o^q*Z;bq0|~dLRRjS^jwz#}J?fRKnmO3e?KL5Grs0NQO8vFf%X& zutFpPk!2R1v}Isu_*mxu@?%BC56jO_rYAITgKVw57ia&^zT@&628}KTHU8bg=d#Wz Gp$P!tMtyYv diff --git a/assets/cn/handler/AUTO_SEARCH_ON2.png b/assets/cn/handler/AUTO_SEARCH_ON2.png new file mode 100644 index 0000000000000000000000000000000000000000..87338d550386eabc0b72520facb5b6ee28db74b2 GIT binary patch literal 2922 zcmeAS@N?(olHy`uVBq!ia0y~yUYGEeZ{cj64hu-=6*c`1 ze1uQfSN4N$Ae9Q)hR3etp1UoeVlbg`8z%$9ijcTd{qKV9C3%6SjDjH)0{hN0JGRL! T`=0*mGsxARu6{1-oD!Mc|;uv%9)qmCFFnqiTV1;i-6{g zg3%Bd4S~@R7!85Z5Eu=C(GVDz5U^uaW?)#5xcjcGUQ*BWHS1Shy3la@x;e0+b51vW z^~Wv$s$(_o#XmpBs(%)AB+48HdMcGvS4uS?zB-Wtisd69vcp+NWlWX4I0 z7}*#c_OY@gFfgbjG{jgi@iH(Rh`j)kHx)Hh0MZkjcTCN1TmzChkiSTfVJBGf*@b^? zA4D6HU#w{gJ<`Cy!{DG7Cue^v?|AaRsZETG5)2JTS|{(g{g1Lj%CU z+Csj-AS}_BGGk*2+#hKl2mrU>zr_af3Pb_mGWRkvva-7F7vvXs-Opdz)W}HMKfuq! z3+oO**g&Cms9ic!M0bSg&WADVUwn~`jRCT9Bv>22eJTHa;Bt#!K))qEkqaXve4qen z(;VB&g)B@QFFs24G`O31ImzbgsRgN_ir10hjQRP^@0;~A1v6V+_-;PJ0Re@y=~8cS z8XbRDyI(5R64~6|K!6A%N7<$Mr>P%2Ia&Z%gyO@Zf}ZPbu|4wx5a8c?;;=yL*lt{% zm4YphP6MN|0yErfL^NnSaj8uRw26Y})~~K{feZk!_y|K;@Pr4<{V~<$0R5HeLkQ4c zdax1(lG#A+QIo?E{dd6GCI+npp?mWqWCIjxW@q+=9t|OK<`?nM<;Br)neh+U7ltl~ zWBeZQN!fzzd^thn3>4M19{}-n+WVbTdc>LO$+2mV87$*ZOX-f!qMxj;%+knC{XGaf z;J4^z3^+|q^+Ekx*`5bC`BYv30~m09WZgky5MF$l>r42068_Yd{-L50tG2U}2f4Vp z=jB~X8dN8ebayqz{6>?a)>zS6 zZ>JoijcdNRsw8}O$?gu>O4hs;{}!EgPNqF`Twpd@eMu^78=fA@14y?mDHd<`y{2L* zQ44I4Bwo9o5TGBmqI^%BI}PxAYO3Rz0Himqr|K)RfzIsm2>|MUiC%r2fk1tN0dTH3 z=J<1ief!@FktnkIsN^IDQEc&IVTARxk^N{48$%`wENj#KZlAJAIKZy zuX(R_if3k2;A#xrAHnG?TJ%A*{x+Q5pbaMIBBPynz%`{`whM;HO<|XHL2BM7luOSh z3SE?KX$vTaR2q7xIUwbhl>>xMCtuayAP%-ktKZ$aTW_M45%cmQ^cy5t|LtQb@w=aj z18G5;d=7-HQXiUl%^@Aao6-u}gv8Xg%hh`c#?E)_#1&da+@|cb zFsWK@l6L=v2uo0kTo|y!kR*cO9L(_+{|9U=k!WIvvNL)tKPOisPzSSx$K6uBz&p?e`}wxMbvs>ZaVLKFC3&a=CT6 zZV$g#0ZM^R#I^sNguNt?q_fj%iF`!M`s_J#E4q1T-N&~&&$(`d0k~Ts180H zcgQ&VOLmXXuYI#KvvGey_w(H5iEBl=9u@NuyD3&7S}UfKi+aTIH9NQMlInMLiCoVd zz8pUryW?xeBZSjF3uJ0%VltyLXP#WL3AEAc#XsS`^wfs$sUs%x(RrI!Ruh%*Zz4~7 zD?2=pUC$VH1kx%OGOLm5R0T?J< z$tTC$^~%fjIaCP8rbLL!O_a4!;1ds$N18|B^o>q7-cK(^7f=5vFzb@(;_14n3{}=s ze$nS$>|dx~s8qPBjnifZ!|P7gU95|*8w~FLt^3uD zj-Q3EeqQCB9j2MA;{KGaB7QUa7&NK>R5f8IiDFo_Q*MhLM7Li)IbLMi;;pgA2dLNU z(weWA(M-#ZkQEjZJSVim5V{^Dzk{wM&7bZ=K4)EAz0?QGo6B1!8;^Bn_~d!i(Q3X1 zb#$~T4Uzgu?QJ*l<6b$6hKR-H(D;mRNVw81hugqX~b86$)RL*ih|IKppBkkaD{l zHo_m}_h=n8+wlgLIBJ4TBujaT#5F~gQK7VJjxxZQG&O{(&2Aii*FqwBL zE6A;SYN+%rVtTfVS`>QLUdx^saVkDXAp51>RGhS-m5Qk4RE4j(q~P+c{CG>_#?s`{ zi!W-)W@qnD7h*EkP7R-lG}^d++wy$yCk?nIS`nWncK@y1iaF+7-%nEaj~hRfPiGWl z6qKQPys~N(zpK_Bt+n(}R7~fY#82ZsOQa`!W=_hj2d)eXW8+b@vKn-?6|V?N<*{Pe z711kUWMl*K@;8kUkDcG^a@?^Z5e>xWR^;ce`pIGTOQW()#_vSrlB^M-C)6C!b=ShY z7JDM8*QqbFwynnP&^F87_@U(#bX?EFhenFAwwjrh8SPZx>OYs?x(T~vUbA6%XZK#g zL?1_FI+6TIkE{PaKTn<>x3zHUjabFw1_pkb)qb9*BkARIUlP;4>6uxBw?Xfh+lxF^ z5=+Tb5>7a?pFt(z-m58{HJzV3p;|6l^H)0FkOr4aPL{2O7e+f!G22y7Ya4$k4D>Y( zhu&P_jgu5U^OKP=SN~cu%+{yDIC9muXCZbtRoqpgu4y`Im~0Yi*;15x^Wn{XYsL(^ zcaR@;=vh7#)dM?9pxtCMlQUigijF7{Bh76-qivnl#q#MlsYT+=5%RQf-Th3y zHDRpBq{F0F?z~)bYN3>r1dn*b^0lt?v5J=!g595^FuQnq;M19r?eWbE-F933i`?r; z-A&c_%9Q}d)5>Sst#YkW^<8+KrAJ#;U4xMfGNW#!wLvQP=$8JD)e3FHt+nEdB~y1M zVrNT*d23};zUP4ktJ{=zL!!+A2$u(d5C_2eE=y+t2v!B)w=)3RIRGI1?mM-dXLX}W zrsoVUg$>LNtMJA;A8Z{%m{2+mM*&ud*M-9(#HjKp~=lKpQNehNcemw&>~)c_;vobL$-( zup#*2)(G!kCLjP#md^^Y=6kHf=ynunR@P!gW&WB9{5zJ2d{-Y8u^^}V z&k=o#Rok8Ipv&+-Yi0+4Mt>LeCDL*7JnN!8`+r1$V0V^P?d~oVI7vgpn<4wh|2?G08BA zEMpr*LfJ`!u}}7|K7YdZm(MTmIrqNrbMEsz_ng;H@AEuD8SAmL3bO(L*!7V*XaHFD zu1wu9rajRRGl1*~+y`mp2LK!I-wgrjnSubY8o6p~qfocKG2VW+y?w;>wY9~4e7&7r zJ)8gt8ptvYv`l0Os1GxoIL)>C7s^vT?gL3F0<4A0Dv#?auz$$KqtO%*&1%la&z*@h zYkbhlip+{0%Q;ST(R>_zJ;voepxB@=OxdL^$Qy6K1bli=9pz~r-3_ln z$yfmK1TZ4WGtCCUqe085Yb|`BMG%ykzP-f?k^u0)hG^LJ`qGD1du7o9jRA(&hQbFyM+Un7DmP-#u_}zwd@fm zxSZh=l9{O)QoP7%sA1;}QwNI0`*3yjxZLN%J(A+BGt6NX5OW0tf>DnG>)h|fgx zU6pKV@hxB~(sE0%K}s#j`|_QSy`iyzA8Zjn`Z&%JM^)r-e)8S^#*-*ryGNG7GR*>xla?yx z@hXm@mj49si;%PJ>9C_rF*x2?*v*Gr4IU5hcs)x)OYK+Evr?5jH82Z!_(R2pW0Hxl zOe&>=dDa_)98}BkmX`@K^AblSvZZex}d6eL7*xDj|(m(r43mM-C$83rq{t zd$?RP4P|I}&(@z4unHVOJT;*j&xtpAy4m_^qMA>&DSFHho_7>oki=u4;&f?}`NeZ3 zt+brts~ttzUtz`3s?V?Md*%e76ilOvc$NLrr8_bNv?&Gh`Murgt}d>O+X^$78u*X! zBf6>GsXgw$4$e%^gs%i1Vvl4GZ$>&C7jhT6D^w_0Eu@fU_>$#IYFf*+)8CXt(p;W# zKJzxSJh^rE;Cs{SwJUJ|Ry7-!zpV_5eY%$xl*JhlrZ<>d`ylnOsHC_b&D)73u zNYv~@(b>{YbRaq&)pgZ2zs`31!GwlcRC;(pUX!U&VSD|=#=PW@4PDymA@ok z-se{0ToP9D&p_}%-GIZK@0`FKZGi6YlckX*m$j5Q{fi?F zI|E;BTjiMfLDgIJT*+TW{HFKOsbc?}R)(F$3wbD>b6jZ0JN|Ni=1Qb4JRE(+O}Sl@ z(0Dtas-J(1C^H}BGOiMYP9v6TKNUj z-rgcNMCd29&c>bZ&2-PUulrs*xD^}mLN~L?Am(gLbIL$U2!$oZD1||IX0C3IHD5LV zM$qrOL6f6-_E~tKL@Y86WvFIQs$P|3lr#opcnfHX3Avuo%U=QY_uLBQSREQs;fC|bk0E4KdUo6 z4}Kn1_p(lMSglSftS>Ar?BG`R=7kN)cKo0EQS6eyqA`mdbO2wysU#&F7+`%y9`Un$Nn=Yid#rUEp z?=K9xRrv#f0ct0rWkM3eB4~F+BeD2XiV}GOCqj5i`X^-?XnG@;P zQZSCClS6s$5mPgrl+Y)>TuS)-vT_#SASs2^)hOA;e2L^r`RJYC1khB7t7lC0_|HgpirrFyaxxii` zvKTulV(V$}6O$Y4wi?$_+0oVkRk2r@vu>{<3@+uK&0h=7x@SW%-!6GwUH4sPps)T% z;N4}8a8dpXKj}%cweMtuEZj-Dp{rg!^ACQ+3pk|(W z#|v*2W@i~+Qu~@Vgk>0RrMcT&wIR7^cV%BfVCD_0Z5gf0Kd0ku7HWM~BpD8a($!Z= z)JoO#!hE(zk#DTMX-*8voW;db%!(210+s&d-i8~w*YDe(Z>MaYV@dSSvm(`AGCvLz zrE6CI1gy;=0$Jw`hiro5gWhb_4Q&5DxWW1RUgb`?6WMd*j~&^r>ys5HodX_~y_2;2 zC2F)suU)TK>atX9e3qD)2)i(8=~idrXkkSmZ&zEG`7V~`_j-DGdu;Pcm*rOf0^52_ zSA8kAXxW$ky6BB+vsANKZ6{W3@#R)Y=U^zENUs@gCW)mT-_qDYEmJofn+v;580ym@ zJ6j5jhs&GNJZ3lqrGXN0YPi>nn@3~P$ zeI3nfK?Adcx$F%nK9=r-nw1rKQ2bX6?2!I3hq$&#I9ZY90-1|HS&;bv+=%vP@wXh{9{zEK0vxxMj?M&kJQV_11OaZPx~b|t zDc Date: Sat, 13 Sep 2025 01:31:46 +0800 Subject: [PATCH 19/33] Add: Chapter C --- campaign/event_20250912_cn/c1.py | 95 ++++++++++++++++++++++++++++++++ campaign/event_20250912_cn/c2.py | 79 ++++++++++++++++++++++++++ campaign/event_20250912_cn/c3.py | 80 +++++++++++++++++++++++++++ 3 files changed, 254 insertions(+) create mode 100644 campaign/event_20250912_cn/c1.py create mode 100644 campaign/event_20250912_cn/c2.py create mode 100644 campaign/event_20250912_cn/c3.py diff --git a/campaign/event_20250912_cn/c1.py b/campaign/event_20250912_cn/c1.py new file mode 100644 index 000000000..06b74ec94 --- /dev/null +++ b/campaign/event_20250912_cn/c1.py @@ -0,0 +1,95 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger + +MAP = CampaignMap('C1') +MAP.shape = 'I8' +MAP.camera_data = ['D2', 'D6', 'F2', 'F6'] +MAP.camera_data_spawn_point = ['D2'] +MAP.map_data = """ + -- ++ -- SP -- SP ++ ++ ++ + -- ++ Me -- __ -- Me -- Me + -- Me -- -- MS -- -- ME -- + -- -- -- MS -- MS -- -- -- + ME ME -- ++ ++ ++ ++ -- ++ + ++ ++ -- -- ME ++ ME -- ME + ++ ++ -- -- -- -- -- MB -- + -- -- ME -- ME ++ ME -- ME +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, \ + = MAP.flatten() + + +class Config: + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_CHAPTER_SWITCH_20241219 = True + STAGE_ENTRANCE = ['half', '20240725'] + MAP_HAS_MODE_SWITCH = True + STAGE_INCREASE_AB = True + INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (80, 255 - 33), + 'width': (0.9, 10), + 'prominence': 10, + 'distance': 35, + } + EDGE_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (255 - 33, 255), + 'prominence': 10, + 'distance': 50, + 'wlen': 1000 + } + MAP_SIREN_HAS_BOSS_ICON_SMALL = True + MAP_SWIPE_MULTIPLY = (1.212, 1.235) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.172, 1.194) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.138, 1.158) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_4(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/c2.py b/campaign/event_20250912_cn/c2.py new file mode 100644 index 000000000..3ea39c671 --- /dev/null +++ b/campaign/event_20250912_cn/c2.py @@ -0,0 +1,79 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .c1 import Config as ConfigBase + +MAP = CampaignMap('C2') +MAP.shape = 'I8' +MAP.camera_data = ['D2', 'F2', 'E6'] +MAP.camera_data_spawn_point = ['D2'] +MAP.map_data = """ + -- SP ++ -- ME -- ME ++ -- + SP -- -- MS -- -- -- ME -- + ++ -- MS -- ++ ++ ME -- ME + -- MS -- __ MB ++ ++ -- ++ + -- Me -- Me -- ME -- -- ME + -- ++ -- -- Me -- -- ME -- + -- ++ Me -- -- -- ME ++ -- + -- -- -- -- ME -- -- ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.224, 1.247) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.184, 1.206) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.149, 1.170) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_4(self): + return self.clear_boss() diff --git a/campaign/event_20250912_cn/c3.py b/campaign/event_20250912_cn/c3.py new file mode 100644 index 000000000..937129bd4 --- /dev/null +++ b/campaign/event_20250912_cn/c3.py @@ -0,0 +1,80 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .c1 import Config as ConfigBase + +MAP = CampaignMap('C3') +MAP.shape = 'J8' +MAP.camera_data = ['D2', 'D6', 'G2', 'G6'] +MAP.camera_data_spawn_point = ['D4'] +MAP.map_data = """ + -- -- ++ ++ ++ ME -- ME -- -- + -- Me -- Me -- ME -- ++ ++ -- + -- -- MS -- -- -- -- MB ++ ME + SP -- -- MS ++ Me __ -- ME -- + SP -- -- MS ++ ME -- -- -- -- + -- -- MS -- -- -- -- ME -- ME + -- Me ++ ++ Me -- ++ -- ++ -- + -- -- ++ ++ -- -- ME -- ME -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 1}, + {'battle': 5, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = [] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.127, 1.148) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.090, 1.110) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.058, 1.077) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_5(self): + return self.fleet_boss.clear_boss() From ac63403cb3134ad6fc41c65ca73818faab117c76 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 02:19:14 +0800 Subject: [PATCH 20/33] Fix: handle flare animation upon MAP_MODE_SWITCH_HARD --- assets/cn/map/MAP_MODE_SWITCH_HARD.png | Bin 7510 -> 4807 bytes assets/cn/map/MAP_MODE_SWITCH_HARD2.png | Bin 0 -> 5365 bytes assets/cn/map/MAP_MODE_SWITCH_HARD3.png | Bin 0 -> 5516 bytes assets/cn/map/MAP_MODE_SWITCH_HARD4.png | Bin 0 -> 5529 bytes assets/cn/map/MAP_MODE_SWITCH_HARD5.png | Bin 0 -> 5484 bytes assets/cn/map/MAP_MODE_SWITCH_HARD6.png | Bin 0 -> 5373 bytes assets/cn/map/MAP_MODE_SWITCH_NORMAL.png | Bin 7510 -> 4827 bytes assets/en/map/MAP_MODE_SWITCH_HARD.png | Bin 7510 -> 0 bytes assets/en/map/MAP_MODE_SWITCH_NORMAL.png | Bin 7510 -> 0 bytes assets/jp/map/MAP_MODE_SWITCH_HARD.png | Bin 7510 -> 0 bytes assets/jp/map/MAP_MODE_SWITCH_NORMAL.png | Bin 7510 -> 0 bytes assets/tw/map/MAP_MODE_SWITCH_HARD.png | Bin 7510 -> 0 bytes assets/tw/map/MAP_MODE_SWITCH_NORMAL.png | Bin 7510 -> 0 bytes module/map/assets.py | 9 ++++- module/map/map_operation.py | 47 +++++++++++++++++++---- 15 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 assets/cn/map/MAP_MODE_SWITCH_HARD2.png create mode 100644 assets/cn/map/MAP_MODE_SWITCH_HARD3.png create mode 100644 assets/cn/map/MAP_MODE_SWITCH_HARD4.png create mode 100644 assets/cn/map/MAP_MODE_SWITCH_HARD5.png create mode 100644 assets/cn/map/MAP_MODE_SWITCH_HARD6.png delete mode 100644 assets/en/map/MAP_MODE_SWITCH_HARD.png delete mode 100644 assets/en/map/MAP_MODE_SWITCH_NORMAL.png delete mode 100644 assets/jp/map/MAP_MODE_SWITCH_HARD.png delete mode 100644 assets/jp/map/MAP_MODE_SWITCH_NORMAL.png delete mode 100644 assets/tw/map/MAP_MODE_SWITCH_HARD.png delete mode 100644 assets/tw/map/MAP_MODE_SWITCH_NORMAL.png diff --git a/assets/cn/map/MAP_MODE_SWITCH_HARD.png b/assets/cn/map/MAP_MODE_SWITCH_HARD.png index fcff54fe99b7951c8798f378f5dc9bbd6544f58a..ec4144cc6a9cb9421974ea70f8688fde3777b358 100644 GIT binary patch delta 2267 zcmXArdpy(o8^FI*l>6y|D3sHY=%QRELv&FI6-uei=CY7Uv6;zNSN%*;ByF)eF=Y>KBxcS+qhGbBEsBIjdYZA+52O94fyG-&h zA93E55!PX4RSg)Lf>poQ%u8QFi84s7IMaiB4jyuF@SX|1a-Y zIau;w4Gex@9-SZt&5C@DgfkmjbpSv?*GKECBMO+Vi9W8P$r#$3*hg(93=U%BF;BMH+)QV1c@pHli8^rM4 z{|YaxP2&SHF?+Qi0BGOa@s$Bu3EbkYdAMFm?41iKVLhhJ7%N`e8vqukHy(bIS7Lu6 zD)T12yLx05f%1^qY$8G;w!+JmftB8bA6s0Wr`O(J5@~Exp3GOTAnJ?iicy};EY?Oj zK-IklejT+A9gAq+sa}`_oWGFeI7V`t`drBrbrbsoKLUUeu&Vp+By)duh0P{eOsIrT z=brblkBvGW6}p}UHB<@QW(MCYpN+WG)WSP_R0%i)C}ovfW_m-2&dl5}zSaUXR8K{m zGBf*C&DC5+r=N{l8WXSU64T%yZoh#IBttj5TGSxC0_4ep3HDWtuu2x)O`XC}GT(Pk@@wixJZCx9(X`Y40I=Gxr;b#S zadsENe$!H9%I?4jLJB4skDa=ON*#*GstJFg&ZALO#_zEbz6Xt1J9eK5Z%_rIYqs><*~V=k9ki3VdlCjRuUei($;+9r!cL$v zX|U~2H%i73Dp<=uzu_H4rIKYKt!?KiQ-mJ}rCEj9zO4Z_jKu}9O&~V68%8arMly7_ zAjL~`Yqv)51<6$1qri0k%7Z5Qi$`p}c#=<{9n8<2G> zEdyj}$Br&*xZ$uw#)1;0`6Dyj$!i1QO#vV-dsM=&8DrM<6e39tE3EiM_$aC`bYM$v zg2v^s+Z{lglMqrE_Q*~U?`d^{LXo=Cdz+#vgUQGC=4VS9gH?DjZ4hP(l{dOCOvwVr zJ;C#WDh~+wCu<+EP_VG`A!@%}m)HrD-oC}x#*ZDUy#BK|sBH6czq7U8rsatkeOv>3k7ZzIPPe(fhEi&?N!Xw6Qx_KE zl4RQ(<}KPF>d z=JBWXNtvBJ1E_@?(Tt30n64WCC1rri_};i4Be!O({g1r9rZva$-pkC+A3H_v7nN4_ zRoeQh$|za?#Y>5%l2O{8EXPZW!wHv1T||==X2JWxb+zYQOxg{GI00|fs|azkjnj3} zi>az8G9QQ?ZV8N%Bjc2za9>6*Yr8_oz&;g20}1V1UmX%eUDv%?-9#9Pg;&m($hMTQ z=ia+=mT}|m%d7sAl6F;#k&0N-r?n{2BXndm&Zh}Kl&-K6t{td* zMT9NAFy58$J@%l6V}*RZ^?m*}AvD(1H=zlI#~Yj5dGIeRR?Gh%$pJ_z8r53Sm7f9+ zD(Dca6tu{#eHCkdH|N6@%b#)qEy%FkiSZ|cY2INfCRhy(78d j{j{q5$8bwQcR>gNj$U5vVs-Bifc%^|>VBla+3)th8TN`N delta 4990 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 diff --git a/assets/cn/map/MAP_MODE_SWITCH_HARD2.png b/assets/cn/map/MAP_MODE_SWITCH_HARD2.png new file mode 100644 index 0000000000000000000000000000000000000000..313f91cc175f148716a9e4247a9db735aaedebbb GIT binary patch literal 5365 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 TOu~h4FN83&GJW$;&)@$GVcYy( literal 0 HcmV?d00001 diff --git a/assets/cn/map/MAP_MODE_SWITCH_HARD5.png b/assets/cn/map/MAP_MODE_SWITCH_HARD5.png new file mode 100644 index 0000000000000000000000000000000000000000..83d24f03744280a5b186135bc4f577fd35e5ef53 GIT binary patch literal 5484 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 Xbo$Ih?fhl>b3jfASNp0Tul@F4+ZP>d literal 0 HcmV?d00001 diff --git a/assets/cn/map/MAP_MODE_SWITCH_HARD6.png b/assets/cn/map/MAP_MODE_SWITCH_HARD6.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3d344871e916fd9d5cecc11dfec3645c6b1fbd GIT binary patch literal 5373 zcmeH}|3A}fAICrHl+HP#O54s z^JNdT^<}=4F-0~rtd1OqVL3uO*!hLrR_Bc`CuoPi-wZqp{G$kHC06vqJL|J1!}Yo8+g=J|mlIDkd&83w zf(eaWd_sPOv^K=A;Z(!wXkPMyWqjdqHB&dJ1V1S1XgWBe?f0VU0hYk#Z_nck0|`i? zx)jQPa_mF<4h#X_*%Z&mDkFoP{cy3v2zHg!x2KVtK6`oPhL?}0$>Stf?JH((9?U{p zRyIMcZv}vDFJI;~I`2$z>`DqBsX003_gkxLI3ELN3?cl6@Q{`sQ87k|8N{DfPR@$G zI2Q`2wy4g<53d$`s~OFvC1eUhZ#Mww?S8it)TYx8Jjs;j^t84`O3{?qpgiBP@30DL ziMD>hC9jEE;J2-UYS--Cr>xeBxuLaSwZTk3T*incVVpT;)|4q?j{uy*!n3z zds1Pb^?VesW5}i7jw={{4;%BZa?s%F3Zchw)5=RdzBP?3d^#yl3*}at`1LzS9vf^* z=j}~6=!j~TR%~4_Wr>x~1~C|uUfz)pkiKMHCQjajzIfFcen= zu%L`o=t}*ql7qdz5KOo@>h$QYltLtd8&CC5a`YG$kJ6^}?Ed+_bBMv}zIboI!9{QL zN5MU%{TxLJs+xA_p4gotz{J#@pE;@f>pE;!<+j0T9RyZ}QD&!40moc) zn=AV6=ZeEd*B*kyt^6c6Tb;YqlVoEo<-?^ibXuKHaA5&c8bJhjGKJlG1hPDV}BLt5W4A#Y* z#5YeJoQ@eqTc+$Ydf>Wm715SYHh!4w%n^C?$CN}qwT7S%ewK)oTAb>}Gl@bvi{1)S zzDaZT9ZaN~8+!VF`BHXgl4|qALyIhuf_BNsuJ&%AwQf;D*R`u27i3d>iXSPbe*Y}h z2lwJzCks}m0*e$uy?pmSUuDxO%WpHv#*`<-24VnA`SALEZm9>%)|Fx-Z1PBkaoi6< z{*Y9NKnJGK;5)JYBw-S;1p;&Z`i=rPu&@X0cah z2`<$AF_?UzB$txV`vtYW1!eO`mVI`53H$n%t-#s-w`*ozj)+H4!dy(`g)}j?Kpeuj zIIqNMW!F4#foK=uIYUJF$RkkrsP5S<)|v7bo=aC50jw zamv>Qz!kvYQVs?A zP0~L;IhrG;_zv4%tnx6jC?H?q*!jjR%{v&)hb|ESXOdot-LjZb>x{EWu!ARH9uC->+pBy zF8tZVHcpp4k}^rNJcLNQcxm^|f$d}xxEz!&w;w*41&-#bv{0Owe~Z=?TK=uL&Fk+- zPK5Gu1~n-T5)zQC_Qs|r>mnq-&JgbxykRzk=A4BKc^EgHyQ?emZKUa78l+M@?A7}~ z=S_mK^RoXV*F9TUdySY$l~lTf`pEuca+m0`wk*X+wwrQE^L+rRplPOW`o0H;0FE?U zn8!6Ce`7+>zQ$D9DQrC+DvXgl)C$R(X;#5ph*t(=8f`*>D@_`kRAY0J4%Fu~kG?JE z;M{wJU^kCm{*7Y3^>GVlKiFZP)cbV&{k{k*E)p&>d!HV3M@O8lBo)eFMl4S`OualN z>8z3b=pd`AigUzc)77=Ch;T>^WZgYSU_EFth6E?(_0Cr&M5Pw-iJBF;BbN=)+9>^p zWlZxGUI!oTFlAs)7@VZpC`b83X$v$XYi7C%J8)Wp0EK{A>Pl66B>&9k!FQTIKkl9z zSOoVEa9G3Bn(sOjwb(K>9r+?O3fa*1OLeTLS=`Om0egK)!0%b3wz|TFQrgMV3ALJn zU+!qH?+@gr6oJ;~ab9hG^+{DKJd#$bTed{?D(WAIW|e!?{x_-;EHIRy15~NQ`zo93 z0%}-Dmbym$kgGh@7zfHN<-njSI?9zm*k?9G?u_gBd*WoxgyZ8aL{m0mO0(uLiYU^T zPfVwF&7Ek!_(W~!(|D`9YEaPi&C7U3pYBDPW?7Vwova*=?n!cM4sPn4OH58W|Jg{M zohWh1CpzdP~QI{WK? E0q4!tNdN!< literal 0 HcmV?d00001 diff --git a/assets/cn/map/MAP_MODE_SWITCH_NORMAL.png b/assets/cn/map/MAP_MODE_SWITCH_NORMAL.png index b1b75976efdce73f815b2be5342da4209016f8df..85d8c204af112a09e1da09832818a222ccdcd5ab 100644 GIT binary patch delta 2266 zcmV<02qpK{I@=|XBYzU2Nkl?wc4`shOrNg%;Ftg(DB%pMGyfEEqJCM{S&2{cee zJfRD=Nk330q^i3mS@tT?t~N6UeIJd~-BYT8M_qn;uU>@!0JB32bO@7B3kZMze_k*I zoUFJ1=2o~L!i$f8JBZyM!;mK97)SB)Ys0e0x-YAvc5lC~jzU=VN2PC^Erv(m$46)T z<-hvyHlk{ zk-L49zV>-z<$4DI00aTwvg>~_8-&SD`Oc*x8$I!uqKMb77S&<#_n%hvQTwEM;7t!l zqY3~32w=W#iY&f&WzzNS(;Ph63D>Sn>ZA1jN3-o5@8g$q`ep;KT=D<_@cjCYA>d>U z2cay={@wlf-leCl-)%6D!|s{*<3F43zLNL14X^rF7GpV%efh4sSB!t*!N-tNh^aeZ zl*c}U%?$$pfB=SLRE*2|sNTNc`E{Z+j^ec|#hd5*iq5*;9fU{gqPw~thx#k4q$lI9 zgO@2KBM$%o0vL`})70Aq%rAz6+rMU)#uzUDL6^b#WG6K3gI%CwoED)v3TYMA+hxTf z3-d*2(|TF-N&^D`fB=7nW3;@#o%PL&{Kn_?vz+Su+3c-1%3|D?Z5CrT&g(^2!)+hf zt9~JL>b2|j&|Mwp1|I+b1TY+{VF+cGg?2tWOwG|VovO&<1=V6&=T?jv# z`+d0bIg7)5v^4Sn0PtL~B`zmzm9jFnZCEbDa2Tp472{{xo~nQQ$M0S({`u2p@^U^s zlchzNr*z|HRo$)IkcaJk!po{L^Z)=LfZ-VBdA6?K?R~qqX4Uz#(`P(qjN$Do#ooWP zaTT(0C_Oq+K4@qRnITgO4(9GU(F0003D$18=jTt2!U>%;oscDZ{d`|2@OldkXg zdu3hR9Zp{dRI5?==^{2K?2cO^S z3OUC0YY^Z0LD?St1|H$NdnOus000ocaD0ZR`kQp;_v*0R)^9P+i!UV~hVzik7jxqV008`|Y=XrJ%SK_n@OkZ27rJHJ&L^j*2qFT=9jP6fwN zOuty}-)?qaDW<1meVD)h4+n7&-~2&2?T$IjXP?(;5wfh$=3(q7hu60Uub+4Hzh2R4 z-P&mtKKN+fCpQ29Ab{bRJ*?k#p@w*BIN2!Rz3nis#S9x89iCx*cY-rv9?Ics?5r;@%g{xzpLX)6>mH(48V={a|>c9SB!^TRi@$8&Y}Og1TY_kMa%&6@0`SU0I0$L`4f#@$t%-3@>9 z^<#p|BE|LYS;O^(ynY|LQ?2`Udv9<*5j=Wy=IcL8X^}Q7r2zl{0Sw3I-7AxCe%Zxq zk%hOf?lw)@+i$C;YEKv0c#?-yFH%~y!??_19%GSriM!fP=cZME|8VzVcDPR580&k@ zJ?F;;>KOdEd-&nbO{8Ra(#e zcE7G18G8T#c)q+~2sl}9{^hOdt1&J5`Ph6ECOi50^V#GHb=ofaxScQBb`^i;M|E|t z-|Bf7haraLYMBp)o5QkvS$)}W`J9jPqReJhTOH0*m%%A+>Nkt2Y10RPb0&htshYkvxo~Duj2}CAvywT>)|+LWo`lyQ{V1)UakQD> z4Xa{uHdJ@p>z~%)PXF|y^k9G2tG<3m{aR=v4*&oH7>-p}rt{@CM~B0HA@slfyh$Oy zb+5hg`Ru}OdGTzPJ;ie6_?4ZZXHB~P$&J}zDza(2c&vWAgVZko00>|>0rOvMb2QIm zmc{B`8&=y5oWme~_>=0xpM>}Rc(Qvoi~rZv+MTF63VS!(8(&miLYIG8*0gDv(sqyN ze(pCl&HC4^`n{tKJ^%m+U^s4F{dUE>uHSX64np~IR^MwkOPYWDkJY)^&S`rZ7rpZgtzZT>DqPd%9XU0;&h`mMJ0 z+kG=U6>rVz>M;DppG++BEN&{eYuh%Zc?#9tRNV`+J5_pcIhX7DoiEa+rQ>>ebo+4S o^B@%Cuf#C3K?{ii81MxD1Li6~WV4FKssI2007*qoM6N<$g03~YNdN!< delta 4964 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 PpAR%tbyUh8+PwG=$Q!kP diff --git a/assets/en/map/MAP_MODE_SWITCH_NORMAL.png b/assets/en/map/MAP_MODE_SWITCH_NORMAL.png deleted file mode 100644 index b1b75976efdce73f815b2be5342da4209016f8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 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 diff --git a/assets/jp/map/MAP_MODE_SWITCH_HARD.png b/assets/jp/map/MAP_MODE_SWITCH_HARD.png deleted file mode 100644 index fcff54fe99b7951c8798f378f5dc9bbd6544f58a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 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 PpAR%tbyUh8+PwG=$Q!kP diff --git a/assets/jp/map/MAP_MODE_SWITCH_NORMAL.png b/assets/jp/map/MAP_MODE_SWITCH_NORMAL.png deleted file mode 100644 index b1b75976efdce73f815b2be5342da4209016f8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 zcmeI1_cPqz_s3sag6JVy5QKE1hE=0Pi7r}%RiZD8=sl6J2~nbKSS@O>h!VXfYF3Hf ztzZd@Rd=&kKHl&5|L~pf4>>b;&Yih4cg{TS^UOWx-nRyN8uYYWv;Y9mYiX((0RYwc zl>8?(`MFc((v9d~-!#LxXTzTgQ{f&1)HJCxd}Qj1kN%!ilT7 zu7Ir38+p(aU%b9%XJ1PMIh*DpnuIL z&LSHPgw23!iNK-&%i1Nf1S6nV%+&CBURNgqs0lFcTD>J!D^e+uVvRff-Z48BMg3n5D^iO8Ya27!xRSqRgB1 z$)H!B=PK=`OIt#ApIYuO$0(jj{DLmVgyGLuPiKR60IziAw6gZRNRpSWhhMo-+!~5f zMa+Y+CV1NOCY%&^Yj{br^4VRscf00q>kR~SdjcDb64m(oQkGcO!^L;`Qb{yP{`3Gc zO21vN_TpC*q&;k#j684%@#M%XKLcU~-Za4vU5CfLhMW+g~1Dr0ZZswlidO@HDrxliOZUQ>MG#F3+TLVI|@!?I(`Zhn!E^ zK~t1pzff@HFsJ`ws_77upu3qna@?sU&L@Q0fy?frQvhSZMA0^E8UK4+J@~&A!Ecs=X zA;lQEuX4j@KCXA&IWLBNBpIzDQghvgxoUV7B5HGsh9Cd-^#MZP#o0#;i!nIHPTM|< zjaIjLYtALybHyHGE@c`oWzS>&z>kf)J)+H@B%~{QR`NsK*BTOzCI>Oil_r8S{>Z%CjHF#oO0%L;yhvUBQD|M`(F4&R| zP40E0{A3nwDF-DCWkI&MN?J~d;XrZL7Jo8J;%>L)Hu5MvZQai&;a6!Dk}e8 z-uTaS7bh2jv*@}{Bh7pyuR8oEe8lbd#r3uI$OC^m`Y8Iy9!r-0!lGW2}@Zkd1CUyL}@&*VO9ikiIwGN0?U0fS4s&kuwstP!v-zF* zT`R4(29n*<9UF&hMt%DGd+*L6r;vS{akAqXZdtai)6KId@81-tXLM=DNXPV~&ZLH* zs8V%P3CNG8il%|4ho+NAt%+yYyIA)LGl&7V8G;T0LZE6tmm$hJ{SfYG)+N^XTO+p) zjXh?>HcvKbH`6ySY{}wn@j`fa{18w7RTiEJIUl(YZy(=&KZs{DHvgC8_u|gt@9Snx z+)kffWbR9`7d}ovvB3S{?8fdz?}|LKgHS0LuIbnB&;lU2Ue95bSIkN~+^ld+3P1M@Y+QRy{g;&2iLpW>VzI*R%r{!V`D%b|3 zsNirkxK5$itw^37lpWn#*eZZlXcY{b2ulmQc#?H2cZ4Fv|7rUbxOZh&kIIIugA7B~ z@{;RiHH8}mA7vV4!9^*m_f$<6MClaSROo2vE%>~XpzZ8?+(dhcIj6hn!)!mOGufVU zAKmX4*5RFCj*A+iMl*#$3yC`G{k7DvMGXk7p3j9djhz_Edh51$iO7awjj@lH58>_v za>e4bVzBsl)Zq~Kd+s_H<3NeD%ZzAd=>PzZh21Nf+--WaIT)s}T^>(Fms#D?Z z@(c1cNV-JEO8S#jANz95Ty6vV>iQrm%U|9?$|4~|=FLYIc$E?+@|uc)D2G0#$U~Rs z^4@F28-4ZG-1oVLm38&n@*h?+O;hkP^Kzl8N6u0Dk9@l&X!MQl1SWERXb{}jHC3Bf zKn_iNP2ZDE&PdM4Gop7%t+_LKzwTz8zT=%cN%Sj$tL{IzlcIkRRs@MJ_Gj53Z*+$9 zYK+Pa7_R7ue!df6$zd5#ui2vcbW8&6c)CFpy!7fyNK3*OgZeMkQ}qEByNd#C>P=S! zV~pATMZ~O(8lMNa?2Lq>oKaP&B!eY$Ba=PXz`4CRqsWnh0@XXO%p_BallxE}wauuHL>|v4s2%z;?%nqoZm_%dg3qTQ*TcAhnt>k!6jHWQTbBK`$l1M5(s}rx%y27| zDXFZqu60^?W}&*i0Qb2E({4? zHu(K%@cZ2N0d!h;-61trGw{v`sLdC7FV8(k;ZqClcWhoJk2Q}*Yu#BGPHfrUw?``8 zEGsATrot|9&hk+-UfbYy0?%$v=}KR@s3q zxb98vIuGIbtMx*ShkyL=TkQU{+d6YrLGb|^05$Hz_2)w1_|FzHuORng_4A7Q3vf!G(NYiQEa z@#7)$lc}9c#F(MB^1$MKZ(M0{1*k``hp%}sP+_<5q-=0D6jzUHMEA7trQJMHJ~h}M zKC6Aui0xF=>kBI5CB9(0s!&s+^++G?|lH+umJ$j zM*v`legJnp0sxjsEwzVF0%kVnhhnZe1zp_fL3r;;*5q(?8_?SuR7-!3)bV>wk*LLR zXQzV!G!>-`!C&{L#@~{4uPQpB$L2B0UVlls_N9BT<9_gcO)^m~nC{G%S1iss=>aP2 zkfgAV6rpGjtQD=p9c0hu)J1?wAo@q&5mv!0Vrpv170A@x z#UMrVEwi%&MEK$H1|tB($7$2Z1QSMZzZb&#KV1!h;^!nP>DviV`OnzM{lmTd=HP1Z zoChj0q3Jj;WPN|arj6qKVUP@6MKU)No6T;;s~E?(;j;?++(f0ey!PX9b@N(hzM+fm zym}^706=Ne>Yffl*Mr>Bp{!4xj=i=vkaD-6t<_V90d4h}C^Ly28x#f5o`;pwZlC5d z5pyqOX3oZNi-wFIG+pWs_VVNpKY{N@76}_V&~d6xq>Z-3-V{sb5MN&CxhYgdXAytH z;?2T&QApkHS(4u3;yt_Lsd5`k)^lODuOO4Z4}#s3w`?35Ci|g9vB+TslJm!Kz~WuW_x( zu-JzeE&u=-hu-jNwbi8mh>l0dm_ol1Ty&yBUdbJ=tu~f+xR7s2Fg)TAh|1V@xK)s> zD5(8>Rc)6HPzIumrQUs<@I5H)^0LU1A2ZU;R62?whJ>ddK4(E_Sve{GCM_rtpRGBI zFMO5<0C}U>P7IR1Aj=Wm<9IpGum&}q$ zio%t_dI6&%DZKwsmr+mBnkQ6FZ)VN5e03HDXDF?tr|oWxukN6auI4Vp2z$3Gf${tP zP<)J>m1z>@Enf6rhK<_E1FIcjn{iEf`h^$SH-^xoBB(=z6`dExMl!sF7eQP>-_|41nVZAd;iaWd_;i{cNHjSZ{#vD>iS7G?Bkh}7}tls;y8 zkASPip7EYKeP%cdozIjHTW=!1&$2$#d(w7{3Ez#CSVi-g<@Ge4Z9-cKg-8F$;ycsb zR;m&XUGbiVjYgRH)ru>q`I-`Owcw&Q{I^a0GtZ-=$JH)88g;Yy6AXN6~x9O8a&a_06Ry@fie9toA4X)$Olc0a~a1cAF z{s_74S2?Qo3#YToU_;OWc*S>Cc->oT*Ab0wUBIbU^gmi7$$ z5)?CH))#7UX4U)q>tV!b|0|;;7jzHWx))}S7Yh|Q)<2F#t6coEVnlbjf5&S*Y@6?m!I8CtQbug|xq0S^r)6-tYr z>*A?Tgsj_l4{p7pCR5M2>Jz&c`$?D%uE;%)8B~WNi%sgF#AYhF5Vg;SCt< z(kxZFm84E)Cp^dHTZ-+8Jm@LNgywo~p`I7N|lknU>=dB^|eZ82FUe)Zi z)wL#K1xW`9Ed3zZB@?%Uw+37#!X2fHvAwY@F>*rDAJRri{S_JD!Ch%u^x2YGw&(Wa z_0*C7w7%h}+l-HdV@12iBQG5yWo1s*4V%m-^q<$=9c{^wVm9ech>@$@IEHRPHj#N`#{fOrNcJLpp?EoPfOqM0nge*ivD-COg&0 zPCQF;G-w#VwOfLGe5*mX%{SEnyl{kg{O^Ura4zjBpARSpq-m&{k4X)xRiQkuX5Yzi z$m*k1Ft|Q2_(MZE76#j|4#0Pq6(mSA`?WcpW9n!{iU7n zr`;i1#XRS0HCb1=TD++$o@TE5AnW!XB>W(oz;PD^agg@qfKGt zWI5bJ^q%9Sb#LS8%vhtm2sC_3G|p@`3J0m!o^;qJE1?E#+=Ax3M`RB)EiTcs>pnIjADyS8fQW(P-G8o}`KMo6`f wqvNCSvy~TY0}E^4&a>>V{l6fvBX#Nztln0B9%=H>;h%`K)b-TLRcv1U4}Brb)Bpeg diff --git a/assets/tw/map/MAP_MODE_SWITCH_HARD.png b/assets/tw/map/MAP_MODE_SWITCH_HARD.png deleted file mode 100644 index fcff54fe99b7951c8798f378f5dc9bbd6544f58a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 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 PpAR%tbyUh8+PwG=$Q!kP diff --git a/assets/tw/map/MAP_MODE_SWITCH_NORMAL.png b/assets/tw/map/MAP_MODE_SWITCH_NORMAL.png deleted file mode 100644 index b1b75976efdce73f815b2be5342da4209016f8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 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 diff --git a/module/map/assets.py b/module/map/assets.py index a0c937034..5be0ac53c 100644 --- a/module/map/assets.py +++ b/module/map/assets.py @@ -22,8 +22,13 @@ FLEET_PREPARATION = Button(area={'cn': (1013, 558, 1141, 588), 'en': (1048, 569, FLEET_PREPARATION_CHECK = Button(area={'cn': (1146, 107, 1174, 136), 'en': (1129, 111, 1158, 140), 'jp': (1146, 107, 1174, 136), 'tw': (1145, 106, 1175, 136)}, color={'cn': (180, 98, 111), 'en': (189, 105, 109), 'jp': (180, 98, 111), 'tw': (180, 90, 92)}, button={'cn': (1146, 107, 1174, 136), 'en': (1129, 111, 1158, 140), 'jp': (1146, 107, 1174, 136), 'tw': (1145, 106, 1175, 136)}, file={'cn': './assets/cn/map/FLEET_PREPARATION_CHECK.png', 'en': './assets/en/map/FLEET_PREPARATION_CHECK.png', 'jp': './assets/jp/map/FLEET_PREPARATION_CHECK.png', 'tw': './assets/tw/map/FLEET_PREPARATION_CHECK.png'}) MAP_CAT_ATTACK = Button(area={'cn': (1237, 103, 1252, 153), 'en': (1237, 103, 1252, 153), 'jp': (1237, 103, 1252, 153), 'tw': (1237, 103, 1252, 153)}, color={'cn': (43, 45, 52), 'en': (43, 45, 52), 'jp': (43, 45, 52), 'tw': (43, 45, 52)}, button={'cn': (1148, 653, 1262, 705), 'en': (1147, 651, 1263, 701), 'jp': (1149, 653, 1261, 704), 'tw': (1148, 653, 1262, 705)}, file={'cn': './assets/cn/map/MAP_CAT_ATTACK.png', 'en': './assets/en/map/MAP_CAT_ATTACK.png', 'jp': './assets/jp/map/MAP_CAT_ATTACK.png', 'tw': './assets/tw/map/MAP_CAT_ATTACK.png'}) MAP_CAT_ATTACK_MIRROR = Button(area={'cn': (147, 145, 187, 157), 'en': (147, 145, 187, 157), 'jp': (147, 145, 187, 157), 'tw': (147, 145, 187, 157)}, color={'cn': (214, 191, 99), 'en': (214, 191, 99), 'jp': (214, 191, 99), 'tw': (214, 191, 99)}, button={'cn': (147, 145, 187, 157), 'en': (147, 145, 187, 157), 'jp': (147, 145, 187, 157), 'tw': (147, 145, 187, 157)}, file={'cn': './assets/cn/map/MAP_CAT_ATTACK_MIRROR.png', 'en': './assets/en/map/MAP_CAT_ATTACK_MIRROR.png', 'jp': './assets/jp/map/MAP_CAT_ATTACK_MIRROR.png', 'tw': './assets/tw/map/MAP_CAT_ATTACK_MIRROR.png'}) -MAP_MODE_SWITCH_HARD = Button(area={'cn': (341, 580, 374, 617), 'en': (341, 580, 374, 617), 'jp': (341, 580, 374, 617), 'tw': (341, 580, 374, 617)}, color={'cn': (234, 179, 179), 'en': (234, 179, 179), 'jp': (234, 179, 179), 'tw': (234, 179, 179)}, button={'cn': (341, 580, 374, 617), 'en': (341, 580, 374, 617), 'jp': (341, 580, 374, 617), 'tw': (341, 580, 374, 617)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD.png', 'en': './assets/en/map/MAP_MODE_SWITCH_HARD.png', 'jp': './assets/jp/map/MAP_MODE_SWITCH_HARD.png', 'tw': './assets/tw/map/MAP_MODE_SWITCH_HARD.png'}) -MAP_MODE_SWITCH_NORMAL = Button(area={'cn': (214, 584, 255, 615), 'en': (214, 584, 255, 615), 'jp': (214, 584, 255, 615), 'tw': (214, 584, 255, 615)}, color={'cn': (185, 201, 236), 'en': (185, 201, 236), 'jp': (185, 201, 236), 'tw': (185, 201, 236)}, button={'cn': (214, 584, 255, 615), 'en': (214, 584, 255, 615), 'jp': (214, 584, 255, 615), 'tw': (214, 584, 255, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_NORMAL.png', 'en': './assets/en/map/MAP_MODE_SWITCH_NORMAL.png', 'jp': './assets/jp/map/MAP_MODE_SWITCH_NORMAL.png', 'tw': './assets/tw/map/MAP_MODE_SWITCH_NORMAL.png'}) +MAP_MODE_SWITCH_HARD = Button(area={'cn': (341, 580, 374, 617), 'en': (341, 580, 374, 617), 'jp': (341, 580, 374, 617), 'tw': (341, 580, 374, 617)}, color={'cn': (234, 179, 179), 'en': (234, 179, 179), 'jp': (234, 179, 179), 'tw': (234, 179, 179)}, button={'cn': (341, 580, 374, 617), 'en': (341, 580, 374, 617), 'jp': (341, 580, 374, 617), 'tw': (341, 580, 374, 617)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD.png'}) +MAP_MODE_SWITCH_HARD2 = Button(area={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, color={'cn': (255, 174, 85), 'en': (255, 174, 85), 'jp': (255, 174, 85), 'tw': (255, 174, 85)}, button={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD2.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD2.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD2.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD2.png'}) +MAP_MODE_SWITCH_HARD3 = Button(area={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, color={'cn': (254, 169, 89), 'en': (254, 169, 89), 'jp': (254, 169, 89), 'tw': (254, 169, 89)}, button={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD3.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD3.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD3.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD3.png'}) +MAP_MODE_SWITCH_HARD4 = Button(area={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, color={'cn': (252, 159, 98), 'en': (252, 159, 98), 'jp': (252, 159, 98), 'tw': (252, 159, 98)}, button={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD4.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD4.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD4.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD4.png'}) +MAP_MODE_SWITCH_HARD5 = Button(area={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, color={'cn': (249, 168, 106), 'en': (249, 168, 106), 'jp': (249, 168, 106), 'tw': (249, 168, 106)}, button={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD5.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD5.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD5.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD5.png'}) +MAP_MODE_SWITCH_HARD6 = Button(area={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, color={'cn': (253, 176, 90), 'en': (253, 176, 90), 'jp': (253, 176, 90), 'tw': (253, 176, 90)}, button={'cn': (340, 579, 372, 615), 'en': (340, 579, 372, 615), 'jp': (340, 579, 372, 615), 'tw': (340, 579, 372, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_HARD6.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_HARD6.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_HARD6.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_HARD6.png'}) +MAP_MODE_SWITCH_NORMAL = Button(area={'cn': (214, 584, 255, 615), 'en': (214, 584, 255, 615), 'jp': (214, 584, 255, 615), 'tw': (214, 584, 255, 615)}, color={'cn': (185, 201, 236), 'en': (185, 201, 236), 'jp': (185, 201, 236), 'tw': (185, 201, 236)}, button={'cn': (214, 584, 255, 615), 'en': (214, 584, 255, 615), 'jp': (214, 584, 255, 615), 'tw': (214, 584, 255, 615)}, file={'cn': './assets/cn/map/MAP_MODE_SWITCH_NORMAL.png', 'en': './assets/cn/map/MAP_MODE_SWITCH_NORMAL.png', 'jp': './assets/cn/map/MAP_MODE_SWITCH_NORMAL.png', 'tw': './assets/cn/map/MAP_MODE_SWITCH_NORMAL.png'}) MAP_OFFENSIVE = Button(area={'cn': (1148, 653, 1262, 705), 'en': (1147, 652, 1263, 701), 'jp': (1147, 652, 1263, 706), 'tw': (1148, 653, 1262, 705)}, color={'cn': (234, 180, 108), 'en': (234, 183, 108), 'jp': (233, 184, 105), 'tw': (243, 199, 104)}, button={'cn': (1148, 653, 1262, 705), 'en': (1147, 652, 1263, 701), 'jp': (1147, 652, 1263, 706), 'tw': (1148, 653, 1262, 705)}, file={'cn': './assets/cn/map/MAP_OFFENSIVE.png', 'en': './assets/en/map/MAP_OFFENSIVE.png', 'jp': './assets/jp/map/MAP_OFFENSIVE.png', 'tw': './assets/tw/map/MAP_OFFENSIVE.png'}) MAP_PREPARATION = Button(area={'cn': (854, 488, 1052, 548), 'en': (852, 489, 1054, 553), 'jp': (850, 485, 1051, 548), 'tw': (854, 488, 1052, 548)}, color={'cn': (236, 186, 115), 'en': (234, 179, 93), 'jp': (232, 181, 101), 'tw': (236, 186, 115)}, button={'cn': (854, 488, 1052, 548), 'en': (852, 489, 1054, 553), 'jp': (850, 485, 1051, 548), 'tw': (854, 488, 1052, 548)}, file={'cn': './assets/cn/map/MAP_PREPARATION.png', 'en': './assets/en/map/MAP_PREPARATION.png', 'jp': './assets/jp/map/MAP_PREPARATION.png', 'tw': './assets/tw/map/MAP_PREPARATION.png'}) MAP_PREPARATION_CANCEL = Button(area={'cn': (234, 12, 278, 47), 'en': (234, 12, 278, 47), 'jp': (234, 12, 278, 47), 'tw': (234, 12, 278, 47)}, color={'cn': (45, 46, 69), 'en': (45, 46, 69), 'jp': (45, 46, 69), 'tw': (45, 46, 69)}, button={'cn': (234, 12, 278, 47), 'en': (234, 12, 278, 47), 'jp': (234, 12, 278, 47), 'tw': (234, 12, 278, 47)}, file={'cn': './assets/cn/map/MAP_PREPARATION_CANCEL.png', 'en': './assets/en/map/MAP_PREPARATION_CANCEL.png', 'jp': './assets/jp/map/MAP_PREPARATION_CANCEL.png', 'tw': './assets/tw/map/MAP_PREPARATION_CANCEL.png'}) diff --git a/module/map/map_operation.py b/module/map/map_operation.py index 4a9de599a..25ca4c864 100644 --- a/module/map/map_operation.py +++ b/module/map/map_operation.py @@ -1,3 +1,5 @@ +import cv2 + from module.base.timer import Timer from module.exception import CampaignEnd, RequestHumanTakeover, ScriptEnd from module.handler.fast_forward import FastForwardHandler @@ -272,15 +274,14 @@ class MapOperation(MysteryHandler, FleetPreparation, Retirement, FastForwardHand if self.match_template_color(MAP_MODE_SWITCH_NORMAL, offset=(20, 20)): logger.attr('MAP_MODE_SWITCH', 'normal') return True - elif self.appear(MAP_MODE_SWITCH_HARD, offset=(20, 20), interval=2): + if self._is_mod_switch_hard_appear(active=False, interval=2): logger.attr('MAP_MODE_SWITCH', 'hard') MAP_MODE_SWITCH_NORMAL.clear_offset() self.device.click(MAP_MODE_SWITCH_NORMAL) - return False - else: - return False + self.interval_reset(MAP_MODE_SWITCH_HARD) + return False elif mode == 'hard': - if self.match_template_color(MAP_MODE_SWITCH_HARD, offset=(20, 20)): + if self._is_mod_switch_hard_appear(active=True): logger.attr('MAP_MODE_SWITCH', 'hard') return True if self.appear(MAP_MODE_SWITCH_NORMAL, offset=(20, 20), interval=2): @@ -288,12 +289,44 @@ class MapOperation(MysteryHandler, FleetPreparation, Retirement, FastForwardHand MAP_MODE_SWITCH_HARD.clear_offset() self.device.click(MAP_MODE_SWITCH_HARD) return False - else: - return False + return False else: logger.error(f'handle_map_mode_switch: Unknown mode={mode}') return False + def _is_mod_switch_hard_appear(self, active=True, interval=0): + if interval: + interval = self.get_interval_timer(MAP_MODE_SWITCH_HARD, interval=interval) + if not interval.reached(): + return False + + for button in [ + MAP_MODE_SWITCH_HARD, + MAP_MODE_SWITCH_HARD2, + MAP_MODE_SWITCH_HARD3, + MAP_MODE_SWITCH_HARD4, + MAP_MODE_SWITCH_HARD5, + MAP_MODE_SWITCH_HARD6, + ]: + if self.appear(button, offset=(20, 20), threshold=0.7): + if active: + return self._is_mod_switch_hard_active(button) + else: + return True + return False + + def _is_mod_switch_hard_active(self, button): + image = self.image_crop(button.button) + # rgbmax + r, g, b = cv2.split(image) + cv2.max(r, g, dst=r) + cv2.max(r, b, dst=r) + # active button has white icon, check if count any color > 235 + cv2.inRange(r, 235, 255, dst=r) + sum_ = cv2.countNonZero(r) + total = r.shape[0] * r.shape[1] + return sum_ / total > 0.5 + def handle_map_preparation(self): """ Returns: From 9067ed4f7fedfdf7c1db1533625f03170010eac2 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 02:22:04 +0800 Subject: [PATCH 21/33] Add: Chapter D --- campaign/event_20250912_cn/d1.py | 97 ++++++++++++++++++++++++++++++++ campaign/event_20250912_cn/d2.py | 89 +++++++++++++++++++++++++++++ campaign/event_20250912_cn/d3.py | 92 ++++++++++++++++++++++++++++++ 3 files changed, 278 insertions(+) create mode 100644 campaign/event_20250912_cn/d1.py create mode 100644 campaign/event_20250912_cn/d2.py create mode 100644 campaign/event_20250912_cn/d3.py diff --git a/campaign/event_20250912_cn/d1.py b/campaign/event_20250912_cn/d1.py new file mode 100644 index 000000000..069bb596b --- /dev/null +++ b/campaign/event_20250912_cn/d1.py @@ -0,0 +1,97 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger + +MAP = CampaignMap('D1') +MAP.shape = 'J8' +MAP.camera_data = ['E3', 'E6', 'G3', 'G6'] +MAP.camera_data_spawn_point = ['E6'] +MAP.map_data = """ + -- -- ++ ++ ++ Me -- ++ -- -- + -- MB -- -- Me -- -- -- ME -- + ++ ++ -- Me -- -- -- ME -- -- + ++ ++ -- ++ ME __ ME ++ ++ -- + -- -- MS -- MS -- -- ME ++ ME + -- Me -- MS -- Me -- -- -- -- + -- ++ -- -- -- ++ ME -- ME -- + -- ++ SP -- SP ++ -- ME ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2}, + {'battle': 5, 'enemy': 1, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config: + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_CHAPTER_SWITCH_20241219 = True + STAGE_ENTRANCE = ['half', '20240725'] + MAP_HAS_MODE_SWITCH = True + STAGE_INCREASE_AB = True + INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (80, 255 - 17), + 'width': (0.9, 10), + 'prominence': 10, + 'distance': 35, + } + EDGE_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (255 - 17, 255), + 'prominence': 10, + 'distance': 50, + 'wlen': 1000 + } + HOMO_EDGE_COLOR_RANGE = (0, 17) + MAP_WALK_USE_CURRENT_FLEET = True + MAP_SWIPE_MULTIPLY = (1.078, 1.099) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.043, 1.062) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.013, 1.031) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_5(self): + return self.fleet_boss.clear_boss() diff --git a/campaign/event_20250912_cn/d2.py b/campaign/event_20250912_cn/d2.py new file mode 100644 index 000000000..b50c04bcc --- /dev/null +++ b/campaign/event_20250912_cn/d2.py @@ -0,0 +1,89 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .d1 import Config as ConfigBase + +MAP = CampaignMap('D2') +MAP.shape = 'J8' +MAP.camera_data = ['E2', 'E6', 'G4'] +MAP.camera_data_spawn_point = ['G6'] +MAP.map_data = """ + ++ -- ME ++ -- ++ ++ ++ -- -- + -- ++ -- -- ME -- MB -- -- -- + -- ME -- ME ++ ME -- ME ++ ++ + -- ME -- -- Me -- __ -- ME ++ + ++ ++ ME -- -- MS -- MS -- Me + ++ ++ -- -- Me -- MS -- Me -- + -- ME -- Me ++ -- -- -- ++ -- + -- -- ME -- ++ SP -- SP ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 + 50 50 50 20 50 10 10 10 50 50 + 50 50 50 20 10 10 10 10 10 50 + 50 50 20 20 10 10 10 10 10 20 + 50 50 50 20 10 10 05 10 10 20 + 50 50 50 20 50 10 10 10 50 50 + 50 50 50 50 50 10 10 10 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2, 'siren': 1}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2}, + {'battle': 5, 'enemy': 1}, + {'battle': 6, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.086, 1.106) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.050, 1.069) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.019, 1.038) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1): + return True + + return self.battle_default() + + def battle_5(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_6(self): + return self.fleet_boss.clear_boss() diff --git a/campaign/event_20250912_cn/d3.py b/campaign/event_20250912_cn/d3.py new file mode 100644 index 000000000..be83b08dd --- /dev/null +++ b/campaign/event_20250912_cn/d3.py @@ -0,0 +1,92 @@ +from .campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger +from .d1 import Config as ConfigBase + +MAP = CampaignMap('D3') +MAP.shape = 'K9' +MAP.camera_data = ['F2', 'F5', 'F7', 'D5'] +MAP.camera_data_spawn_point = ['I5'] +MAP.map_data = """ + -- -- ++ -- -- ME -- ME -- ++ -- + -- ++ ++ ME -- ++ ++ ++ -- -- ++ + ++ ++ ++ ME -- -- Me -- MS -- ++ + -- -- ME -- -- Me ++ MS -- -- SP + MB -- -- -- -- -- -- -- -- __ -- + -- -- ME -- -- Me ++ MS -- -- SP + ++ ++ ++ ME -- -- Me -- MS -- ++ + -- ++ ++ ME -- ++ ++ ++ -- -- ++ + -- -- ++ -- -- ME -- ME -- ++ -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 10 10 10 10 10 10 + 50 50 50 50 50 10 10 10 10 10 10 + 50 50 50 50 50 10 10 10 10 10 10 + 50 50 50 50 50 10 10 10 10 10 10 + 50 50 50 50 50 10 10 10 10 10 10 + 50 50 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 2, 'siren': 2}, + {'battle': 1, 'enemy': 1}, + {'battle': 2, 'enemy': 2, 'siren': 1}, + {'battle': 3, 'enemy': 1}, + {'battle': 4, 'enemy': 2}, + {'battle': 5, 'enemy': 1}, + {'battle': 6, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \ +A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \ + = MAP.flatten() + + +class Config(ConfigBase): + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + # ===== End of generated config ===== + + MAP_SWIPE_MULTIPLY = (1.109, 1.130) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.073, 1.093) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.042, 1.060) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1): + return True + + return self.battle_default() + + def battle_5(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_6(self): + return self.fleet_boss.clear_boss() From 638a0840e25f869e30739c033eddc73df61274ba Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 02:57:37 +0800 Subject: [PATCH 22/33] Add: Chapter SP --- .../TEMPLATE_SIREN_BlackDragonBoss01.gif | Bin 0 -> 2128 bytes .../TEMPLATE_SIREN_BlackDragonBoss01.gif | Bin 0 -> 2128 bytes .../TEMPLATE_SIREN_BlackDragonBoss01.gif | Bin 0 -> 2128 bytes .../TEMPLATE_SIREN_BlackDragonBoss01.gif | Bin 0 -> 2128 bytes campaign/event_20250912_cn/sp.py | 127 ++++++++++++++++++ module/template/assets.py | 1 + 6 files changed, 128 insertions(+) create mode 100644 assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss01.gif create mode 100644 assets/en/template/TEMPLATE_SIREN_BlackDragonBoss01.gif create mode 100644 assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss01.gif create mode 100644 assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss01.gif create mode 100644 campaign/event_20250912_cn/sp.py diff --git a/assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss01.gif b/assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss01.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb95200364c461d03ce9d664baf4ce0ceb99d542 GIT binary patch literal 2128 zcmZ?wbhEHbd?%1(o`}XadH*emwY17)ZYnLuv zI(6#Q_V)IcmX@ZbrmCu{l9H0Vyu5^jgs7;f$jHcuh={PTu+Y%Z;Nak(pdf#Le_vl; zA0Hn#H#b*TS4T%jJ3BjDTU#3&8!Ia-OG`@&3k!2|b2BqDQ&UqD6BA=&VbSy@>b85wD5X(=fwNl8fw2?=p=aWOG55fKpq0Re_lFd71QLqPFAx1VcBu(M-; ztC5}oGvojN42nNlI23`JbU+$G*@S`PKZECyjK(CF4q?+0jWY)g+&cwy8xCX?Cc7VQ zv+}Zux!8Q%RaU}unna`0F+LfKqAMFt6fEHoP;k3rz;tAh`vkS1BPR|%W}hH$k$0!T zF!>m-g5!jL9}HVMTqOj9Qa%{CcuZLBn04mHLT5K-P98ZPN$W6_FxPdfUxm?%&Ip!;DN!VQVTbHhb`khgHA1(Qtr)fqRDb84D(t z4uM1RVj>(96c4lVSXRkMGO?WC6_pU;*EYqw;o{-~FE^~Mt;sGr$SXI5g@uKLgn*?74-XG0352N4~QIeJ8x-CHs?GPgUmxw~vR@sO#NOPZ^A&xMTwo}B_ZMIRJ) z2Dr1!sd~?GdC2svSK2ZmMkmPWQ9HkCmc+w}7f$fXySh#BU|ihRCudi5qv4~2Co8{I z%@>A4i`fO0xMF225*nN)$U9tM+L+kM#X~+3`PlWJd9k}d$t(ZJ9sE4Ft_o@RH&R3R5{@#C@5oc zVF4pEo0vtG;fHk?6NoV6X-NNjX)u literal 0 HcmV?d00001 diff --git a/assets/en/template/TEMPLATE_SIREN_BlackDragonBoss01.gif b/assets/en/template/TEMPLATE_SIREN_BlackDragonBoss01.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb95200364c461d03ce9d664baf4ce0ceb99d542 GIT binary patch literal 2128 zcmZ?wbhEHbd?%1(o`}XadH*emwY17)ZYnLuv zI(6#Q_V)IcmX@ZbrmCu{l9H0Vyu5^jgs7;f$jHcuh={PTu+Y%Z;Nak(pdf#Le_vl; zA0Hn#H#b*TS4T%jJ3BjDTU#3&8!Ia-OG`@&3k!2|b2BqDQ&UqD6BA=&VbSy@>b85wD5X(=fwNl8fw2?=p=aWOG55fKpq0Re_lFd71QLqPFAx1VcBu(M-; ztC5}oGvojN42nNlI23`JbU+$G*@S`PKZECyjK(CF4q?+0jWY)g+&cwy8xCX?Cc7VQ zv+}Zux!8Q%RaU}unna`0F+LfKqAMFt6fEHoP;k3rz;tAh`vkS1BPR|%W}hH$k$0!T zF!>m-g5!jL9}HVMTqOj9Qa%{CcuZLBn04mHLT5K-P98ZPN$W6_FxPdfUxm?%&Ip!;DN!VQVTbHhb`khgHA1(Qtr)fqRDb84D(t z4uM1RVj>(96c4lVSXRkMGO?WC6_pU;*EYqw;o{-~FE^~Mt;sGr$SXI5g@uKLgn*?74-XG0352N4~QIeJ8x-CHs?GPgUmxw~vR@sO#NOPZ^A&xMTwo}B_ZMIRJ) z2Dr1!sd~?GdC2svSK2ZmMkmPWQ9HkCmc+w}7f$fXySh#BU|ihRCudi5qv4~2Co8{I z%@>A4i`fO0xMF225*nN)$U9tM+L+kM#X~+3`PlWJd9k}d$t(ZJ9sE4Ft_o@RH&R3R5{@#C@5oc zVF4pEo0vtG;fHk?6NoV6X-NNjX)u literal 0 HcmV?d00001 diff --git a/assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss01.gif b/assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss01.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb95200364c461d03ce9d664baf4ce0ceb99d542 GIT binary patch literal 2128 zcmZ?wbhEHbd?%1(o`}XadH*emwY17)ZYnLuv zI(6#Q_V)IcmX@ZbrmCu{l9H0Vyu5^jgs7;f$jHcuh={PTu+Y%Z;Nak(pdf#Le_vl; zA0Hn#H#b*TS4T%jJ3BjDTU#3&8!Ia-OG`@&3k!2|b2BqDQ&UqD6BA=&VbSy@>b85wD5X(=fwNl8fw2?=p=aWOG55fKpq0Re_lFd71QLqPFAx1VcBu(M-; ztC5}oGvojN42nNlI23`JbU+$G*@S`PKZECyjK(CF4q?+0jWY)g+&cwy8xCX?Cc7VQ zv+}Zux!8Q%RaU}unna`0F+LfKqAMFt6fEHoP;k3rz;tAh`vkS1BPR|%W}hH$k$0!T zF!>m-g5!jL9}HVMTqOj9Qa%{CcuZLBn04mHLT5K-P98ZPN$W6_FxPdfUxm?%&Ip!;DN!VQVTbHhb`khgHA1(Qtr)fqRDb84D(t z4uM1RVj>(96c4lVSXRkMGO?WC6_pU;*EYqw;o{-~FE^~Mt;sGr$SXI5g@uKLgn*?74-XG0352N4~QIeJ8x-CHs?GPgUmxw~vR@sO#NOPZ^A&xMTwo}B_ZMIRJ) z2Dr1!sd~?GdC2svSK2ZmMkmPWQ9HkCmc+w}7f$fXySh#BU|ihRCudi5qv4~2Co8{I z%@>A4i`fO0xMF225*nN)$U9tM+L+kM#X~+3`PlWJd9k}d$t(ZJ9sE4Ft_o@RH&R3R5{@#C@5oc zVF4pEo0vtG;fHk?6NoV6X-NNjX)u literal 0 HcmV?d00001 diff --git a/assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss01.gif b/assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss01.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb95200364c461d03ce9d664baf4ce0ceb99d542 GIT binary patch literal 2128 zcmZ?wbhEHbd?%1(o`}XadH*emwY17)ZYnLuv zI(6#Q_V)IcmX@ZbrmCu{l9H0Vyu5^jgs7;f$jHcuh={PTu+Y%Z;Nak(pdf#Le_vl; zA0Hn#H#b*TS4T%jJ3BjDTU#3&8!Ia-OG`@&3k!2|b2BqDQ&UqD6BA=&VbSy@>b85wD5X(=fwNl8fw2?=p=aWOG55fKpq0Re_lFd71QLqPFAx1VcBu(M-; ztC5}oGvojN42nNlI23`JbU+$G*@S`PKZECyjK(CF4q?+0jWY)g+&cwy8xCX?Cc7VQ zv+}Zux!8Q%RaU}unna`0F+LfKqAMFt6fEHoP;k3rz;tAh`vkS1BPR|%W}hH$k$0!T zF!>m-g5!jL9}HVMTqOj9Qa%{CcuZLBn04mHLT5K-P98ZPN$W6_FxPdfUxm?%&Ip!;DN!VQVTbHhb`khgHA1(Qtr)fqRDb84D(t z4uM1RVj>(96c4lVSXRkMGO?WC6_pU;*EYqw;o{-~FE^~Mt;sGr$SXI5g@uKLgn*?74-XG0352N4~QIeJ8x-CHs?GPgUmxw~vR@sO#NOPZ^A&xMTwo}B_ZMIRJ) z2Dr1!sd~?GdC2svSK2ZmMkmPWQ9HkCmc+w}7f$fXySh#BU|ihRCudi5qv4~2Co8{I z%@>A4i`fO0xMF225*nN)$U9tM+L+kM#X~+3`PlWJd9k}d$t(ZJ9sE4Ft_o@RH&R3R5{@#C@5oc zVF4pEo0vtG;fHk?6NoV6X-NNjX)u literal 0 HcmV?d00001 diff --git a/campaign/event_20250912_cn/sp.py b/campaign/event_20250912_cn/sp.py new file mode 100644 index 000000000..77d4ce91b --- /dev/null +++ b/campaign/event_20250912_cn/sp.py @@ -0,0 +1,127 @@ +from module.campaign.campaign_base import CampaignBase +from module.map.map_base import CampaignMap +from module.map.map_grids import SelectedGrids, RoadGrids +from module.logger import logger + +MAP = CampaignMap('SP') +MAP.shape = 'I8' +MAP.camera_data = ['D4', 'F4'] +MAP.camera_data_spawn_point = ['F4'] +MAP.map_data = """ + -- -- ++ ++ -- ++ ++ -- -- + -- -- ++ ++ MB ++ ++ -- -- + -- -- ME MS -- MS ME -- -- + ++ ME -- -- MS -- -- ME ++ + ++ ME -- -- __ -- -- ME ++ + -- -- ME SP -- SP ME -- -- + -- -- ++ ++ ++ ++ ++ -- -- + -- -- ++ ++ -- ++ ++ -- -- +""" +MAP.weight_data = """ + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 50 50 50 50 50 50 + 50 50 50 10 10 10 50 50 50 + 50 50 50 10 10 10 50 50 50 + 50 50 50 10 10 10 50 50 50 + 50 50 50 50 50 10 50 50 50 + 50 50 50 50 50 50 50 50 50 +""" +MAP.spawn_data = [ + {'battle': 0, 'enemy': 8, 'siren': 3}, + {'battle': 1}, + {'battle': 2}, + {'battle': 3}, + {'battle': 4}, + {'battle': 5}, + {'battle': 6}, + {'battle': 7, 'boss': 1}, +] +A1, B1, C1, D1, E1, F1, G1, H1, I1, \ +A2, B2, C2, D2, E2, F2, G2, H2, I2, \ +A3, B3, C3, D3, E3, F3, G3, H3, I3, \ +A4, B4, C4, D4, E4, F4, G4, H4, I4, \ +A5, B5, C5, D5, E5, F5, G5, H5, I5, \ +A6, B6, C6, D6, E6, F6, G6, H6, I6, \ +A7, B7, C7, D7, E7, F7, G7, H7, I7, \ +A8, B8, C8, D8, E8, F8, G8, H8, I8, \ + = MAP.flatten() + + +class Config: + # ===== Start of generated config ===== + MAP_SIREN_TEMPLATE = ['BlackDragonBoss01', 'BlackDragonBoss02'] + MOVABLE_ENEMY_TURN = (2,) + MAP_HAS_SIREN = True + MAP_HAS_MOVABLE_ENEMY = True + MAP_HAS_MAP_STORY = False + MAP_HAS_FLEET_STEP = True + MAP_HAS_AMBUSH = False + MAP_HAS_MYSTERY = False + STAR_REQUIRE_1 = 0 + STAR_REQUIRE_2 = 0 + STAR_REQUIRE_3 = 0 + # ===== End of generated config ===== + + MAP_CHAPTER_SWITCH_20241219 = True + STAGE_ENTRANCE = ['half', '20240725'] + STAGE_INCREASE_AB = True + MAP_IS_ONE_TIME_STAGE = True + INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (80, 255 - 17), + 'width': (0.9, 10), + 'prominence': 10, + 'distance': 35, + } + EDGE_LINES_FIND_PEAKS_PARAMETERS = { + 'height': (255 - 17, 255), + 'prominence': 10, + 'distance': 50, + 'wlen': 1000 + } + HOMO_EDGE_COLOR_RANGE = (0, 17) + MAP_WALK_USE_CURRENT_FLEET = True + MAP_SWIPE_MULTIPLY = (1.096, 1.117) + MAP_SWIPE_MULTIPLY_MINITOUCH = (1.060, 1.080) + MAP_SWIPE_MULTIPLY_MAATOUCH = (1.029, 1.048) + + +class Campaign(CampaignBase): + MAP = MAP + ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C' + + def map_data_init(self, map_): + super().map_data_init(map_) + # enemy + B4.is_enemy = True + B5.is_enemy = True + C3.is_enemy = True + C6.is_enemy = True + G3.is_enemy = True + G6.is_enemy = True + H4.is_enemy = True + H5.is_enemy = True + # siren + D3.is_siren = True + E4.is_siren = True + F3.is_siren = True + + + def battle_0(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=2): + return True + + return self.battle_default() + + def battle_5(self): + if self.clear_siren(): + return True + if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0): + return True + + return self.battle_default() + + def battle_7(self): + return self.fleet_boss.clear_boss() diff --git a/module/template/assets.py b/module/template/assets.py index a03474831..59b6b26bd 100644 --- a/module/template/assets.py +++ b/module/template/assets.py @@ -65,6 +65,7 @@ TEMPLATE_SIREN_BBpurple = Template(file={'cn': './assets/cn/template/TEMPLATE_SI TEMPLATE_SIREN_BBred = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BBred.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BBred.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BBred.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BBred.gif'}) TEMPLATE_SIREN_BaltimoreIdol = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BaltimoreIdol.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BaltimoreIdol.gif'}) TEMPLATE_SIREN_Bellona = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_Bellona.gif', 'en': './assets/en/template/TEMPLATE_SIREN_Bellona.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_Bellona.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_Bellona.gif'}) +TEMPLATE_SIREN_BlackDragonBoss01 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss01.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BlackDragonBoss01.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss01.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss01.gif'}) TEMPLATE_SIREN_BlackDragonBoss02 = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BlackDragonBoss02.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BlackDragonBoss02.gif'}) TEMPLATE_SIREN_BolzanoAlter = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'en': './assets/en/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_BolzanoAlter.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_BolzanoAlter.gif'}) TEMPLATE_SIREN_CA = Template(file={'cn': './assets/cn/template/TEMPLATE_SIREN_CA.gif', 'en': './assets/en/template/TEMPLATE_SIREN_CA.gif', 'jp': './assets/jp/template/TEMPLATE_SIREN_CA.gif', 'tw': './assets/tw/template/TEMPLATE_SIREN_CA.gif'}) From 69e99e66924c117c4e8f403a57db5b870171f353 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 03:04:36 +0800 Subject: [PATCH 23/33] Upd: [EN] MAP_STAR_* --- assets/en/handler/MAP_STAR_1.png | Bin 2912 -> 4795 bytes assets/en/handler/MAP_STAR_2.png | Bin 2882 -> 4701 bytes assets/en/handler/MAP_STAR_3.png | Bin 2883 -> 4871 bytes module/handler/assets.py | 6 +++--- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/en/handler/MAP_STAR_1.png b/assets/en/handler/MAP_STAR_1.png index d8159a6e78eb7589f26181ce5d693120e925b2c6..e23701041fc0ea68c708d413115eaaa5e84cf00d 100644 GIT binary patch delta 2231 zcmV;o2uSzf7P}>oBYzTtNklyay0m|_4)O8PdELA^xcTh+|M%I$d;e*K0RZ5Q zl^FuoS6rp<>;I%FV#>1+Tiv{zWham3$FqA6p7uJu-K}n19vnl8|4;n_0008m5b%ql z$W~3e4B#flK_}e0_kUy=xo792RyNC9#ZEtV^Ck}|k12~OTHF8t0Q{e(Fa)f>^eTW? zYoI%=yx+;5k7tLM50oTSE;^^hRdVTWPd@uk2yz$HcvyNhT zZSiw_^`NZ7W;eE4#qLH?gtISPuK(~?i!W`RZly`995pd?i+@-)@v|Qio$L+(00>~# zIfAnnTOLw7Pu-%~Xg9-dc6}%Bhtusr>*|H=-~HA%-}%C_hV!gG?dJ7xBk$+w<-6i? zpRFDM000PJ)>j@^r}B2PrkgjN{6zrgVYidEdaQ3+O>DTG}zhR zYG>73+l%duqJQ6x?L4%y)PAwGUi2^k06=gKFl+aX%tDsMCdK0AKWDPI*~)eXpVSNm@w?nh2%Cg_ii#+eGRzBz5IDd+1)-K{Oud2m7&$F+;|IXg! zz2)&cdwXAh|10-y-7UkgKYP4Uv?s0JqRE!|d|nmVQl}qc(eIsQdCTwu0Du67b#Y-c z{^*AfTHWrbt_H1n?968&Y;3i5x4Iz}shST5?X7H_Z-4pAzyAJz{o}tq zxU$)M_ZcG8XA?DH49Z(rZJezWxaO?Mf z?;G#Gci8KuEQ@)*ljX(or*2+c!L12R(_~q8^H<)v{_Za?CXCl+}XQ$baG;N0RZ4lW(Jt`a(MAzwrH+i*y?A~dOn}c7nAA9&8xdtt{>)k zmVdQcG0&DMoQhUR%L0xm6e%?^q`VcgeEH|t?!@ug=+FN0d;j_$N5{{n8=IYcc&V(z zY%)E5_RI(a0Du67wXm_h*NRO_aeI5K8)xJ3c^1>?Hmg$J4XfqE4feVzf9XYrEZ?es;*-1+J9ED zn2yVkKYH}><0|3AqEi(kHmDR*<3|S20X*HhI%dj2Sy}G^g_+)lAPLGbpc~j-ptf|Y; zEVsqWEj5d}u7CJ1|9<<h!u-i@k>c~v(r zriTFl00c1WR=%%2Zc=EqvRHIaPP5HU|H`HPaVr1nJ3l=-deT{>>1;8pv(4`G!^d|= zAJ5u*>AkOh^_RZ*wIARAu*pYxtUK-Yba_a#T2P&>R#O{Y000ocuzy|=oIZ)+ShSW8 z&d;Wu*!{r|j=%R$x90P*$%;$eypHXBuv;}}le78B?MJDf?%X@SbYb`I&yG?^W!bdb zt@PQd1^@sAFsxPnzT9tg^LCNNke-jGRsA%D>GGA{*5D*`ir%11#cZAqhTUh6PZm}0 z!AGYb{&YN^R8^Jwt$$EAMN@w^s{sH20SxP8zMA2U=Zo(1)7j(GycJVAo4tFX)jhm% zS{BFUcs!b(PMVEQI4}FL+b=rB(`VDkd_IeL2>JNI^PRnoRy&{0n_vzY000octg}4J zLJW^Sdbljw;m+2@i@Qf<3@3FA<#&Q+F;!Q6hL>BLw`;vfb4#-5(E|} z2L=l#cPqb_-D!hKNAnZ0p-%;ousVN$e>iL%0PgX1dQVSU(t6r4>1jP5r^D;p*3kd} zfSr2UIsn|GdZqn*j3kxundg@cBLM&aJEs6MuS(ACcgeW;0{{SUO}qUB_NX#?T9Qio zMF$1|0JzQq%$!Clsc{~GE2GT6006+>6ksN`WNp9eE%eZV0RVtsIe}(gOGX!}B_qAr xe*pl18x&yXG%D$7OLEM53k|WM(gYVgh;L**GFPpLmU{pI002ovPDHLkV1j-`X08AL diff --git a/assets/en/handler/MAP_STAR_2.png b/assets/en/handler/MAP_STAR_2.png index 0178fe416290cec842fc6b1f1cf65fa1672805ce..1cf97915ba1399b89326e2f32de3b3708ad611b7 100644 GIT binary patch delta 2118 zcmV-M2)Xyd7TqL}BX1HUNklUTh?oLS4~aN+U~fchZ%Rq zaTyRq5yXQmf)^3-ZxH_$U4#X35nrxe^r#}pfZ&R<(=)TvuiJ0cU2plG881I0t7irm z@#dk5dY%rFtf+`Qd=HuZsfdh760uQT1%EDuU<3fy!JW6?dHt>*{?`XUOp;z+ueV~h zvAx=D-+OrX;KpGL>5G@+y8d#5_zI2vSOnt$i5 z&6Uv2>NJU2SZ{Y=z?J0)Fu-*YF5dLRS3kUdvZ%spC$w7m=1QI=qqq0V zKlmtrXMM0`*SOKo`&MQla>9IyqCrF>mAeOBLIK^2H+CE_)oS+m6U z@-f-!#Eov+i?e4>Pv*1P2Oqq*|K^*&_^pl2&5c%C-0m0sm29<@w6o>O(tpj;?B2TQ zVE}+D$9I4Mu7!3U>KO8D`8=dywVm#)H7l1VH?OtR?ap}PcDnc0&aeIE&xifqul)WW zKR)`Cdv^!z@smmZvp08o$;Azk=4G5z%^oo}ua$&nXQjac00J0*%VmA7R~ALDleMy} zm(@)Gcfv4@vsRw;v#OZS@_#IR=fih*_IH|%w{~{E^Wl3BKf7Nf{m$h1jaGZw>J@QW z&*QR{HaaUw$X9wJg9QMtkjw}GuEpE^yet;Q@N`g*jVNp;=*4U@IvY*R z761^y09+z>?z~mbi?S^Hz5HNrZFeiawVi(RX7`;pH*fFn9KLb$SAXN9&D%F)NMo9X zGVk>J?e_Z0dYyK|!L6-c5n6TK&ayPbIG@kUrjnaX?jIkYnJoZtRX7D2;96*{bc@k& zeSOwj>23D=zx&;fK7ah+px2FQ8nSFF&GP17RbN~iu}H{a;v2CP{31 zcU)EV`KSN&z3+eg@h3-NHcvvfyLaoePw$&80B}_}0t|31^f!0jyxH%i(`q)G&5OzO z^v>b-8@CU#EKOU>GohOlj(IDI%UcD0f{T`Kyz&#oAh@yLF?C>0mT__3D+`0ssOS zfJE@!&Vp0!g^~tdS1^@&w0GG-3&TbWBH;ZLem09=pMr%GD zlp%fc?D_sT_IEeB%i>M5W&b82F6*~hs=6$X9=-U>?|=Qxy$7ddm33OZaa_=6GwmnfU6@l0)Xovgd_{eXj%>@RZ_)a-K#s>FV1G;VSIWt%<3{LXLVI1b+as9 zFR@-!RrMbq|M2sBPZmWhrt4+4TGVm2DCSk17BLtr03d(?xP@mMEMPRcT7G3!d+2l9XeH-+&Snc%kTWwdEE`o@9T6DM;BiPPTK9>;o(-VQzet>d{M^a z*1T9OUn>L!3;9&@)IU1auRn;_2Hy1Bo zp1&;b-+%nzVeF9tWiS=LEbG^u=X z!GCA~009iZrStXi+8C2|o`$@0cABoXR}c1ghq3spu-J|=% z=d<>1eE+>~zx}OW`qAUNb#|U5Rj1va6|<&;mnkiR0RRCEz@;wXRx2i9Jes!GyFdK* zlYjb`&*t+YrunU2R;8VMb-S)clhOP~KYxA}pVVJG7~k64zW?w=v*V(u+U-sp|8!CV z00>|JE?fC7A7irGPTSe?vR9{rNmV6vGHuqc_Sc7@oAuVqB%hVZ?pE*B^V4~``uOSK zlTSyZNm-V$n}<5d>&h?z009iZF(ZI-pXc++AskC0Sv&UmZi%JSUq|2 zr1=2oZ}s#uH=)HHBihnK@@b w_Q9b>^3-??!(@!`SEK(R2l-__8 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 V6*NTHUmwT?&nrK_KYioje*v=W*3$q0 delta 217 zcmV;~04D#3Cc_qxBQ6UHNklv|tVLI)5ww%oBFNfB;J;2S?|X zE>&<)(^gLcv7t-_k+4C3{C3+N007|1*7w&OGfBow?itVXynQ})#sc`4K6VEH0JywL zl1{SHFBbsbYwQjH0B~)Uo*79hnJ*m}fOoS10|1<C9pO1=vOb1^_ryS28nJa?kM#4FCYKqs{~vz#shpsHZAO TST6Oy00000NkvXXu0mjf^43=v diff --git a/module/handler/assets.py b/module/handler/assets.py index 8a4f21d8f..9d91b3cfe 100644 --- a/module/handler/assets.py +++ b/module/handler/assets.py @@ -67,9 +67,9 @@ MAP_BUFF = Button(area={'cn': (145, 115, 437, 159), 'en': (145, 115, 437, 159), MAP_CLEAR_PERCENTAGE = Button(area={'cn': (626, 185, 970, 190), 'en': (626, 185, 970, 190), 'jp': (626, 185, 970, 190), 'tw': (626, 185, 970, 190)}, color={'cn': (245, 213, 88), 'en': (245, 213, 88), 'jp': (245, 213, 88), 'tw': (245, 213, 88)}, button={'cn': (626, 185, 970, 190), 'en': (626, 185, 970, 190), 'jp': (626, 185, 970, 190), 'tw': (626, 185, 970, 190)}, file={'cn': './assets/cn/handler/MAP_CLEAR_PERCENTAGE.png', 'en': './assets/en/handler/MAP_CLEAR_PERCENTAGE.png', 'jp': './assets/jp/handler/MAP_CLEAR_PERCENTAGE.png', 'tw': './assets/tw/handler/MAP_CLEAR_PERCENTAGE.png'}) MAP_ENEMY_SEARCHING = Button(area={'cn': (617, 359, 651, 373), 'en': (589, 348, 602, 358), 'jp': (678, 358, 719, 368), 'tw': (678, 358, 719, 368)}, color={'cn': (237, 163, 159), 'en': (187, 130, 116), 'jp': (245, 172, 171), 'tw': (245, 172, 171)}, button={'cn': (617, 359, 651, 373), 'en': (589, 348, 602, 358), 'jp': (678, 358, 719, 368), 'tw': (678, 358, 719, 368)}, file={'cn': './assets/cn/handler/MAP_ENEMY_SEARCHING.png', 'en': './assets/en/handler/MAP_ENEMY_SEARCHING.png', 'jp': './assets/jp/handler/MAP_ENEMY_SEARCHING.png', 'tw': './assets/tw/handler/MAP_ENEMY_SEARCHING.png'}) MAP_GREEN = Button(area={'cn': (242, 268, 321, 286), 'en': (222, 268, 319, 281), 'jp': (242, 265, 323, 287), 'tw': (242, 268, 321, 286)}, color={'cn': (171, 209, 145), 'en': (149, 220, 149), 'jp': (143, 196, 109), 'tw': (171, 209, 145)}, button={'cn': (242, 268, 321, 286), 'en': (222, 268, 319, 281), 'jp': (242, 265, 323, 287), 'tw': (242, 268, 321, 286)}, file={'cn': './assets/cn/handler/MAP_GREEN.png', 'en': './assets/en/handler/MAP_GREEN.png', 'jp': './assets/jp/handler/MAP_GREEN.png', 'tw': './assets/tw/handler/MAP_GREEN.png'}) -MAP_STAR_1 = Button(area={'cn': (234, 365, 265, 394), 'en': (232, 381, 240, 389), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, color={'cn': (80, 69, 45), 'en': (252, 234, 146), 'jp': (80, 69, 45), 'tw': (80, 69, 45)}, button={'cn': (234, 365, 265, 394), 'en': (232, 381, 240, 389), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_1.png', 'en': './assets/en/handler/MAP_STAR_1.png', 'jp': './assets/cn/handler/MAP_STAR_1.png', 'tw': './assets/cn/handler/MAP_STAR_1.png'}) -MAP_STAR_2 = Button(area={'cn': (521, 365, 551, 394), 'en': (518, 382, 526, 389), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, color={'cn': (81, 69, 44), 'en': (252, 234, 144), 'jp': (81, 69, 44), 'tw': (81, 69, 44)}, button={'cn': (521, 365, 551, 394), 'en': (518, 382, 526, 389), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_2.png', 'en': './assets/en/handler/MAP_STAR_2.png', 'jp': './assets/cn/handler/MAP_STAR_2.png', 'tw': './assets/cn/handler/MAP_STAR_2.png'}) -MAP_STAR_3 = Button(area={'cn': (807, 365, 838, 394), 'en': (804, 382, 812, 389), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, color={'cn': (80, 68, 46), 'en': (252, 234, 144), 'jp': (80, 68, 46), 'tw': (80, 68, 46)}, button={'cn': (807, 365, 838, 394), 'en': (804, 382, 812, 389), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_3.png', 'en': './assets/en/handler/MAP_STAR_3.png', 'jp': './assets/cn/handler/MAP_STAR_3.png', 'tw': './assets/cn/handler/MAP_STAR_3.png'}) +MAP_STAR_1 = Button(area={'cn': (234, 365, 265, 394), 'en': (219, 369, 250, 397), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, color={'cn': (80, 69, 45), 'en': (88, 77, 52), 'jp': (80, 69, 45), 'tw': (80, 69, 45)}, button={'cn': (234, 365, 265, 394), 'en': (219, 369, 250, 397), 'jp': (234, 365, 265, 394), 'tw': (234, 365, 265, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_1.png', 'en': './assets/en/handler/MAP_STAR_1.png', 'jp': './assets/cn/handler/MAP_STAR_1.png', 'tw': './assets/cn/handler/MAP_STAR_1.png'}) +MAP_STAR_2 = Button(area={'cn': (521, 365, 551, 394), 'en': (506, 369, 535, 396), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, color={'cn': (81, 69, 44), 'en': (98, 84, 55), 'jp': (81, 69, 44), 'tw': (81, 69, 44)}, button={'cn': (521, 365, 551, 394), 'en': (506, 369, 535, 396), 'jp': (521, 365, 551, 394), 'tw': (521, 365, 551, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_2.png', 'en': './assets/en/handler/MAP_STAR_2.png', 'jp': './assets/cn/handler/MAP_STAR_2.png', 'tw': './assets/cn/handler/MAP_STAR_2.png'}) +MAP_STAR_3 = Button(area={'cn': (807, 365, 838, 394), 'en': (792, 368, 821, 397), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, color={'cn': (80, 68, 46), 'en': (93, 80, 53), 'jp': (80, 68, 46), 'tw': (80, 68, 46)}, button={'cn': (807, 365, 838, 394), 'en': (792, 368, 821, 397), 'jp': (807, 365, 838, 394), 'tw': (807, 365, 838, 394)}, file={'cn': './assets/cn/handler/MAP_STAR_3.png', 'en': './assets/en/handler/MAP_STAR_3.png', 'jp': './assets/cn/handler/MAP_STAR_3.png', 'tw': './assets/cn/handler/MAP_STAR_3.png'}) MAP_WALK_OUT_OF_STEP = Button(area={'cn': (654, 312, 704, 335), 'en': (454, 314, 698, 338), 'jp': (736, 312, 783, 336), 'tw': (653, 309, 705, 334)}, color={'cn': (109, 113, 120), 'en': (108, 109, 116), 'jp': (137, 135, 143), 'tw': (118, 124, 132)}, button={'cn': (654, 312, 704, 335), 'en': (454, 314, 698, 338), 'jp': (736, 312, 783, 336), 'tw': (653, 309, 705, 334)}, file={'cn': './assets/cn/handler/MAP_WALK_OUT_OF_STEP.png', 'en': './assets/en/handler/MAP_WALK_OUT_OF_STEP.png', 'jp': './assets/jp/handler/MAP_WALK_OUT_OF_STEP.png', 'tw': './assets/tw/handler/MAP_WALK_OUT_OF_STEP.png'}) MAP_WALK_SPEEDUP = Button(area={'cn': (1025, 406, 1055, 436), 'en': (1025, 406, 1055, 436), 'jp': (1025, 406, 1055, 436), 'tw': (1025, 406, 1055, 436)}, color={'cn': (62, 97, 72), 'en': (62, 97, 72), 'jp': (62, 97, 72), 'tw': (62, 97, 72)}, button={'cn': (1025, 406, 1055, 436), 'en': (1025, 406, 1055, 436), 'jp': (1025, 406, 1055, 436), 'tw': (1025, 406, 1055, 436)}, file={'cn': './assets/cn/handler/MAP_WALK_SPEEDUP.png', 'en': './assets/en/handler/MAP_WALK_SPEEDUP.png', 'jp': './assets/jp/handler/MAP_WALK_SPEEDUP.png', 'tw': './assets/tw/handler/MAP_WALK_SPEEDUP.png'}) MISSION_POPUP_ACK = Button(area={'cn': (432, 493, 543, 533), 'en': (413, 489, 566, 532), 'jp': (410, 482, 574, 539), 'tw': (441, 491, 536, 522)}, color={'cn': (181, 182, 184), 'en': (169, 170, 172), 'jp': (162, 164, 167), 'tw': (195, 195, 197)}, button={'cn': (432, 493, 543, 533), 'en': (413, 489, 566, 532), 'jp': (410, 482, 574, 539), 'tw': (441, 491, 536, 522)}, file={'cn': './assets/cn/handler/MISSION_POPUP_ACK.png', 'en': './assets/en/handler/MISSION_POPUP_ACK.png', 'jp': './assets/jp/handler/MISSION_POPUP_ACK.png', 'tw': './assets/tw/handler/MISSION_POPUP_ACK.png'}) From 88fc235a24327aa3537c983f6c25f3a44882e78a Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 03:08:31 +0800 Subject: [PATCH 24/33] Upd: [EN] AUTO_SEARCH_ON AUTO_SEARCH_OFF --- assets/en/handler/AUTO_SEARCH_OFF4.png | Bin 0 -> 3032 bytes assets/en/handler/AUTO_SEARCH_ON4.png | Bin 0 -> 3021 bytes module/handler/assets.py | 2 ++ module/handler/fast_forward.py | 2 ++ 4 files changed, 4 insertions(+) create mode 100644 assets/en/handler/AUTO_SEARCH_OFF4.png create mode 100644 assets/en/handler/AUTO_SEARCH_ON4.png diff --git a/assets/en/handler/AUTO_SEARCH_OFF4.png b/assets/en/handler/AUTO_SEARCH_OFF4.png new file mode 100644 index 0000000000000000000000000000000000000000..da7c2ad2c6e9dd1fc7128b9677f7d8d9f0a25e34 GIT binary patch literal 3032 zcmeAS@N?(olHy`uVBq!ia0y~yU>$zb zu;!8ACFhO`0ducHT@8^vyN?<7{G6@goBPsF-KO7Q?y_}hPhb1YTm>>=6pV(zXb6mk zz-S1JhQMeDjE2B~gg{gxCj&!7=B)Q+K7Y@fmhHZ^i1GjZwWqJ+`P^xk&7I z#F49i7#4{1IWRL6xJhr%Z+PG>lkz%IeiQ2bMRXTkO5^A~UW%MH@K zP56Lisj_|N$|`3@=A(ryQVb2K+*U9~2G6*oZuE5Cfq5JUd*9M-;=P&*F_2IvBQH)DJ?6+oMxMsJ1*1K)@ rcYMn~8XFsJG9a-tYAHn_@b3b@(;W@Xi!Tm4gUs=C^>bP0l+XkKl6tWV literal 0 HcmV?d00001 diff --git a/assets/en/handler/AUTO_SEARCH_ON4.png b/assets/en/handler/AUTO_SEARCH_ON4.png new file mode 100644 index 0000000000000000000000000000000000000000..a56df01a1ac5d690ef5c90bbacfaa9d294e5ff54 GIT binary patch literal 3021 zcmeAS@N?(olHy`uVBq!ia0y~yUBrrGjh*S; ztBsbX{)yE+`aN}S*Xrj#-~3y)$4pP5*c~Lh``4xf7n9SUN^_=NU3QbXr;$y9p`q;b zyX{>2R?e`WyQaU){&T_4J1U6{Z!#Mg8D5CW{(d`=g{P+(q^|K}dF_N>%7zZhOb#$G z{843iKW}9{BO_3z`NRPx0|Tjb4$KT6{>SJrGb=A(WMf!h|LoWU2_6LoW(I>a`T2V} zEe_dcI54m=B*?2MGkk0M50v=Oef-l?cOk#b$vulZezpD+mtf>IU|_hrNcXN=$sWcD zrXb$jwDRq%eNXGY$mNZhGk@+Z(FykZZ!t1lc=t6o@aXN1h4&?vPwrd@Y~+oCArt}* ab^91 Date: Sat, 13 Sep 2025 03:14:40 +0800 Subject: [PATCH 25/33] Fix: Fallback MapAchievement since event doesn't have thread indicator --- module/campaign/run.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/module/campaign/run.py b/module/campaign/run.py index 176d4b681..9af2570dc 100644 --- a/module/campaign/run.py +++ b/module/campaign/run.py @@ -314,7 +314,16 @@ class CampaignRun(CampaignEvent): # Convert campaign_main to campaign hard if mode is hard and file exists if mode == 'hard' and folder == 'campaign_main' and name in map_files('campaign_hard'): folder = 'campaign_hard' - + # event_20240912_cn does not have "Threat: Safe" indicator, fallback MapAchievement + if folder == 'event_20240912_cn': + if self.config.StopCondition_MapAchievement == 'threat_safe': + logger.info( + 'In event_20240912_cn, MapAchievement=threat_safe fallback to map_3_stars') + self.config.override(StopCondition_MapAchievement='map_3_stars') + if self.config.StopCondition_MapAchievement == 'threat_safe_without_3_stars': + logger.info( + 'In event_20240912_cn, MapAchievement=threat_safe_without_3_stars fallback to 100_percent_clear') + self.config.override(StopCondition_MapAchievement='100_percent_clear') return name, folder def can_use_auto_search_continue(self): From 913b019ee70d4e8f7bd13f562588a6f9c2875ee2 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 03:21:35 +0800 Subject: [PATCH 26/33] Fix: AUTO_SEARCH_OFF4 should in cn folder --- assets/{en => cn}/handler/AUTO_SEARCH_OFF4.png | Bin assets/{en => cn}/handler/AUTO_SEARCH_ON4.png | Bin module/handler/assets.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename assets/{en => cn}/handler/AUTO_SEARCH_OFF4.png (100%) rename assets/{en => cn}/handler/AUTO_SEARCH_ON4.png (100%) diff --git a/assets/en/handler/AUTO_SEARCH_OFF4.png b/assets/cn/handler/AUTO_SEARCH_OFF4.png similarity index 100% rename from assets/en/handler/AUTO_SEARCH_OFF4.png rename to assets/cn/handler/AUTO_SEARCH_OFF4.png diff --git a/assets/en/handler/AUTO_SEARCH_ON4.png b/assets/cn/handler/AUTO_SEARCH_ON4.png similarity index 100% rename from assets/en/handler/AUTO_SEARCH_ON4.png rename to assets/cn/handler/AUTO_SEARCH_ON4.png diff --git a/module/handler/assets.py b/module/handler/assets.py index 2b6f8d37b..d457df28f 100644 --- a/module/handler/assets.py +++ b/module/handler/assets.py @@ -12,11 +12,11 @@ AUTO_SEARCH_MENU_EXIT = Button(area={'cn': (419, 609, 475, 637), 'en': (421, 611 AUTO_SEARCH_OFF = Button(area={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (849, 588, 865, 604), 'tw': (867, 588, 883, 604)}, color={'cn': (94, 92, 94), 'en': (94, 92, 94), 'jp': (99, 99, 109), 'tw': (94, 92, 94)}, button={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (849, 588, 865, 604), 'tw': (867, 588, 883, 604)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_OFF.png', 'en': './assets/cn/handler/AUTO_SEARCH_OFF.png', 'jp': './assets/jp/handler/AUTO_SEARCH_OFF.png', 'tw': './assets/tw/handler/AUTO_SEARCH_OFF.png'}) AUTO_SEARCH_OFF2 = Button(area={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, color={'cn': (90, 89, 92), 'en': (90, 89, 92), 'jp': (90, 89, 92), 'tw': (90, 89, 92)}, button={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_OFF2.png', 'en': './assets/cn/handler/AUTO_SEARCH_OFF2.png', 'jp': './assets/cn/handler/AUTO_SEARCH_OFF2.png', 'tw': './assets/cn/handler/AUTO_SEARCH_OFF2.png'}) AUTO_SEARCH_OFF3 = Button(area={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, color={'cn': (108, 112, 115), 'en': (108, 112, 115), 'jp': (108, 112, 115), 'tw': (108, 112, 115)}, button={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_OFF3.png', 'en': './assets/cn/handler/AUTO_SEARCH_OFF3.png', 'jp': './assets/cn/handler/AUTO_SEARCH_OFF3.png', 'tw': './assets/cn/handler/AUTO_SEARCH_OFF3.png'}) -AUTO_SEARCH_OFF4 = Button(area={'en': (865, 587, 881, 603)}, color={'en': (105, 110, 114)}, button={'en': (865, 587, 881, 603)}, file={'en': './assets/en/handler/AUTO_SEARCH_OFF4.png'}) +AUTO_SEARCH_OFF4 = Button(area={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, color={'cn': (105, 110, 114), 'en': (105, 110, 114), 'jp': (105, 110, 114), 'tw': (105, 110, 114)}, button={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_OFF4.png', 'en': './assets/cn/handler/AUTO_SEARCH_OFF4.png', 'jp': './assets/cn/handler/AUTO_SEARCH_OFF4.png', 'tw': './assets/cn/handler/AUTO_SEARCH_OFF4.png'}) AUTO_SEARCH_ON = Button(area={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, color={'cn': (140, 167, 120), 'en': (140, 167, 120), 'jp': (140, 167, 120), 'tw': (140, 167, 120)}, button={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_ON.png', 'en': './assets/cn/handler/AUTO_SEARCH_ON.png', 'jp': './assets/cn/handler/AUTO_SEARCH_ON.png', 'tw': './assets/cn/handler/AUTO_SEARCH_ON.png'}) AUTO_SEARCH_ON2 = Button(area={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, color={'cn': (139, 168, 112), 'en': (139, 168, 112), 'jp': (139, 168, 112), 'tw': (139, 168, 112)}, button={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_ON2.png', 'en': './assets/cn/handler/AUTO_SEARCH_ON2.png', 'jp': './assets/cn/handler/AUTO_SEARCH_ON2.png', 'tw': './assets/cn/handler/AUTO_SEARCH_ON2.png'}) AUTO_SEARCH_ON3 = Button(area={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, color={'cn': (141, 168, 125), 'en': (141, 168, 125), 'jp': (141, 168, 125), 'tw': (141, 168, 125)}, button={'cn': (865, 587, 881, 603), 'en': (865, 587, 881, 603), 'jp': (865, 587, 881, 603), 'tw': (865, 587, 881, 603)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_ON3.png', 'en': './assets/cn/handler/AUTO_SEARCH_ON3.png', 'jp': './assets/cn/handler/AUTO_SEARCH_ON3.png', 'tw': './assets/cn/handler/AUTO_SEARCH_ON3.png'}) -AUTO_SEARCH_ON4 = Button(area={'en': (867, 588, 883, 604)}, color={'en': (138, 166, 123)}, button={'en': (867, 588, 883, 604)}, file={'en': './assets/en/handler/AUTO_SEARCH_ON4.png'}) +AUTO_SEARCH_ON4 = Button(area={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, color={'cn': (138, 166, 123), 'en': (138, 166, 123), 'jp': (138, 166, 123), 'tw': (138, 166, 123)}, button={'cn': (867, 588, 883, 604), 'en': (867, 588, 883, 604), 'jp': (867, 588, 883, 604), 'tw': (867, 588, 883, 604)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_ON4.png', 'en': './assets/cn/handler/AUTO_SEARCH_ON4.png', 'jp': './assets/cn/handler/AUTO_SEARCH_ON4.png', 'tw': './assets/cn/handler/AUTO_SEARCH_ON4.png'}) AUTO_SEARCH_SET_ALL = Button(area={'cn': (832, 207, 851, 226), 'en': (940, 322, 959, 340), 'jp': (832, 207, 851, 226), 'tw': (832, 207, 851, 226)}, color={'cn': (32, 32, 38), 'en': (39, 40, 41), 'jp': (38, 37, 38), 'tw': (39, 41, 41)}, button={'cn': (832, 207, 851, 226), 'en': (940, 322, 959, 340), 'jp': (832, 207, 851, 226), 'tw': (832, 207, 851, 226)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_SET_ALL.png', 'en': './assets/en/handler/AUTO_SEARCH_SET_ALL.png', 'jp': './assets/jp/handler/AUTO_SEARCH_SET_ALL.png', 'tw': './assets/tw/handler/AUTO_SEARCH_SET_ALL.png'}) AUTO_SEARCH_SET_BOSS = Button(area={'cn': (635, 207, 653, 226), 'en': (616, 208, 634, 226), 'jp': (635, 207, 653, 226), 'tw': (635, 207, 653, 226)}, color={'cn': (30, 30, 33), 'en': (42, 40, 43), 'jp': (37, 36, 37), 'tw': (37, 39, 39)}, button={'cn': (635, 207, 653, 226), 'en': (616, 208, 634, 226), 'jp': (635, 207, 653, 226), 'tw': (635, 207, 653, 226)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_SET_BOSS.png', 'en': './assets/en/handler/AUTO_SEARCH_SET_BOSS.png', 'jp': './assets/jp/handler/AUTO_SEARCH_SET_BOSS.png', 'tw': './assets/tw/handler/AUTO_SEARCH_SET_BOSS.png'}) AUTO_SEARCH_SET_MOB = Button(area={'cn': (496, 207, 515, 226), 'en': (477, 208, 496, 226), 'jp': (496, 207, 515, 226), 'tw': (496, 207, 515, 226)}, color={'cn': (69, 96, 51), 'en': (77, 106, 57), 'jp': (73, 100, 52), 'tw': (73, 101, 55)}, button={'cn': (496, 207, 515, 226), 'en': (477, 208, 496, 226), 'jp': (496, 207, 515, 226), 'tw': (496, 207, 515, 226)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_SET_MOB.png', 'en': './assets/en/handler/AUTO_SEARCH_SET_MOB.png', 'jp': './assets/jp/handler/AUTO_SEARCH_SET_MOB.png', 'tw': './assets/tw/handler/AUTO_SEARCH_SET_MOB.png'}) From 98723de5287c54b514311cf5299fc28d46ecd4b3 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 19:53:28 +0800 Subject: [PATCH 27/33] Opt: Add HOMO_STORAGE in B3 D3 since spawn point is too close to edge --- campaign/event_20250912_cn/b3.py | 1 + campaign/event_20250912_cn/d3.py | 1 + 2 files changed, 2 insertions(+) diff --git a/campaign/event_20250912_cn/b3.py b/campaign/event_20250912_cn/b3.py index 01eccfed3..a3a8e46b2 100644 --- a/campaign/event_20250912_cn/b3.py +++ b/campaign/event_20250912_cn/b3.py @@ -62,6 +62,7 @@ class Config(ConfigBase): MAP_HAS_MYSTERY = False # ===== End of generated config ===== + HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)]) MAP_SWIPE_MULTIPLY = (1.109, 1.130) MAP_SWIPE_MULTIPLY_MINITOUCH = (1.073, 1.093) MAP_SWIPE_MULTIPLY_MAATOUCH = (1.042, 1.060) diff --git a/campaign/event_20250912_cn/d3.py b/campaign/event_20250912_cn/d3.py index be83b08dd..66fb11dc6 100644 --- a/campaign/event_20250912_cn/d3.py +++ b/campaign/event_20250912_cn/d3.py @@ -63,6 +63,7 @@ class Config(ConfigBase): MAP_HAS_MYSTERY = False # ===== End of generated config ===== + HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)]) MAP_SWIPE_MULTIPLY = (1.109, 1.130) MAP_SWIPE_MULTIPLY_MINITOUCH = (1.073, 1.093) MAP_SWIPE_MULTIPLY_MAATOUCH = (1.042, 1.060) From a7434026a967e5d505c3ac0c957b79387cc32627 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 19:57:29 +0800 Subject: [PATCH 28/33] Fix: check CLEAR button to avoid early stopped at popup showing animation --- module/map/map_fleet_preparation.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/module/map/map_fleet_preparation.py b/module/map/map_fleet_preparation.py index 2664f6540..587b7c27f 100644 --- a/module/map/map_fleet_preparation.py +++ b/module/map/map_fleet_preparation.py @@ -145,14 +145,16 @@ class FleetOperator: if self.main.handle_popup_confirm(str(self._clear)): continue - # End - if not self.in_use(): - break + # check CLEAR button to avoid early stopped at popup showing animation + if self.allow(): + # End + if not self.in_use(): + break - # Click - if click_timer.reached(): - main.device.click(self._clear) - click_timer.reset() + # Click + if click_timer.reached(): + main.device.click(self._clear) + click_timer.reset() def recommend(self, skip_first_screenshot=True): """ From 4d5c855e3a3406dbeaae14fa8646d4e8bf388306 Mon Sep 17 00:00:00 2001 From: sui_feng <115386623+sui-feng-cb@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:17:26 +0800 Subject: [PATCH 29/33] Fix: FAST_FORWARD for minor icon shift (#5131) --- module/handler/fast_forward.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/handler/fast_forward.py b/module/handler/fast_forward.py index c26f8b77e..a1a45a46a 100644 --- a/module/handler/fast_forward.py +++ b/module/handler/fast_forward.py @@ -8,7 +8,7 @@ from module.handler.auto_search import AutoSearchHandler from module.logger import logger from module.ui.switch import Switch -FAST_FORWARD = Switch('Fast_Forward') +FAST_FORWARD = Switch('Fast_Forward', offset=(5, 5)) FAST_FORWARD.add_state('on', check_button=FAST_FORWARD_ON) FAST_FORWARD.add_state('off', check_button=FAST_FORWARD_OFF) FLEET_LOCK = Switch('Fleet_Lock', offset=(5, 20)) From 8f79452fd377ffeceb7ba3648f957a92c6505c63 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:25:58 +0800 Subject: [PATCH 30/33] Fix: [ALAS] Handle copy-pasted serial 5555,16384 to be fool-proof --- module/device/connection_attr.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/device/connection_attr.py b/module/device/connection_attr.py index 40c579c3a..c8b215c0a 100644 --- a/module/device/connection_attr.py +++ b/module/device/connection_attr.py @@ -78,9 +78,9 @@ class ConnectionAttr: # 127.0.0.1.5555 serial = serial.replace('127.0.0.1.', '127.0.0.1:') # Mumu12 5.0 shows double serials, some people may just copy-paste it - # 5555,16384 - if ',' in serial: - left, _, right = serial.partition(',') + # 5555,16384 -> replaced to 5555.16384 + if '.' in serial: + left, _, right = serial.partition('.') if left.startswith('55') and right.startswith('16'): serial = right # 16384 From 4b5039fabfd7e821cfd1a7f3b80b3399452a4a64 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:34:22 +0800 Subject: [PATCH 31/33] Chore: Expose Switch timers --- module/ui/switch.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/module/ui/switch.py b/module/ui/switch.py index 7c7eb1a22..1ce601ae4 100644 --- a/module/ui/switch.py +++ b/module/ui/switch.py @@ -31,6 +31,9 @@ class Switch: self.is_selector = is_selector self.offset = offset self.state_list = [] + self.set_unknown_timer = Timer(5, count=10) + self.set_click_timer = Timer(1, count=2) + self.wait_timeout = Timer(2, count=4) def add_state(self, state, check_button, click_button=None, offset=0): """ @@ -124,8 +127,8 @@ class Switch: changed = False has_unknown = False - unknown_timer = Timer(5, count=10).start() - click_timer = Timer(1, count=3) + unknown_timer = self.set_unknown_timer.reset() + click_timer = self.set_click_timer.clear() while 1: if skip_first_screenshot: skip_first_screenshot = False @@ -193,7 +196,7 @@ class Switch: Returns: bool: If success """ - timeout = Timer(2, count=6).start() + timeout = self.wait_timeout.reset() while 1: if skip_first_screenshot: skip_first_screenshot = False From bd217b739b20417bc182183ea39c81ea39e19e47 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:38:41 +0800 Subject: [PATCH 32/33] Fix: Shorten ASIDE_SWITCH_20241219 unknown_timer --- module/campaign/campaign_ui.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/module/campaign/campaign_ui.py b/module/campaign/campaign_ui.py index f639baf1b..f2d2bf4e4 100644 --- a/module/campaign/campaign_ui.py +++ b/module/campaign/campaign_ui.py @@ -34,6 +34,9 @@ ASIDE_SWITCH_20241219.add_state('part1', CHAPTER_20241219_PART1) ASIDE_SWITCH_20241219.add_state('part2', CHAPTER_20241219_PART2) ASIDE_SWITCH_20241219.add_state('sp', CHAPTER_20241219_SP) ASIDE_SWITCH_20241219.add_state('ex', CHAPTER_20241219_EX) +# shorten unknown_timer for faster hanlding +# because of game bug that aside indicator will be missing after campaign retreat or finish +ASIDE_SWITCH_20241219.set_unknown_timer = Timer(0.6, count=2) def is_digit_chapter(chapter): From 44b3ae1884328dbf2a3916171470a8128885f367 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:52:48 +0800 Subject: [PATCH 33/33] Opt: Avoid extra clicking MAP_MODE_SWITCH_HARD on appear animation --- module/map/map_operation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/map/map_operation.py b/module/map/map_operation.py index 25ca4c864..4e2b79177 100644 --- a/module/map/map_operation.py +++ b/module/map/map_operation.py @@ -284,14 +284,14 @@ class MapOperation(MysteryHandler, FleetPreparation, Retirement, FastForwardHand if self._is_mod_switch_hard_appear(active=True): logger.attr('MAP_MODE_SWITCH', 'hard') return True - if self.appear(MAP_MODE_SWITCH_NORMAL, offset=(20, 20), interval=2): + if self.match_template_color(MAP_MODE_SWITCH_NORMAL, offset=(20, 20), interval=2): logger.attr('MAP_MODE_SWITCH', 'normal') MAP_MODE_SWITCH_HARD.clear_offset() self.device.click(MAP_MODE_SWITCH_HARD) return False return False else: - logger.error(f'handle_map_mode_switch: Unknown mode={mode}') + logger.attr('MAP_MODE_SWITCH', 'unknown') return False def _is_mod_switch_hard_appear(self, active=True, interval=0):