diff --git a/assets/cn/campaign/EVENT_20201126_DETAIL.png b/assets/cn/campaign/EVENT_20201126_DETAIL.png new file mode 100644 index 000000000..e0f1d7c2c Binary files /dev/null and b/assets/cn/campaign/EVENT_20201126_DETAIL.png differ diff --git a/assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png b/assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png new file mode 100644 index 000000000..10f9f2916 Binary files /dev/null and b/assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png differ diff --git a/assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png b/assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png new file mode 100644 index 000000000..adbf66b6a Binary files /dev/null and b/assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png differ diff --git a/assets/cn/campaign/EVENT_20201126_ENTRANCE.png b/assets/cn/campaign/EVENT_20201126_ENTRANCE.png new file mode 100644 index 000000000..7eb3d575d Binary files /dev/null and b/assets/cn/campaign/EVENT_20201126_ENTRANCE.png differ diff --git a/assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png b/assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png deleted file mode 100644 index 4420fac7b..000000000 Binary files a/assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png and /dev/null differ diff --git a/assets/cn/campaign/EVENT_20250424_PT_ICON.png b/assets/cn/campaign/EVENT_20250424_PT_ICON.png new file mode 100644 index 000000000..b3216268a Binary files /dev/null and b/assets/cn/campaign/EVENT_20250424_PT_ICON.png differ diff --git a/assets/cn/campaign/EVENT_20260417_DETAIL.png b/assets/cn/campaign/EVENT_20260417_DETAIL.png new file mode 100644 index 000000000..d357228f5 Binary files /dev/null and b/assets/cn/campaign/EVENT_20260417_DETAIL.png differ diff --git a/assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png b/assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png new file mode 100644 index 000000000..ac3e861ef Binary files /dev/null and b/assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png differ diff --git a/assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png b/assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png new file mode 100644 index 000000000..fb7856cb2 Binary files /dev/null and b/assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png differ diff --git a/assets/cn/campaign/EVENT_20260417_ENTRANCE.png b/assets/cn/campaign/EVENT_20260417_ENTRANCE.png new file mode 100644 index 000000000..ac7ddf357 Binary files /dev/null and b/assets/cn/campaign/EVENT_20260417_ENTRANCE.png differ diff --git a/assets/en/campaign/EVENT_20201126_ENTRANCE_TEMP.png b/assets/en/campaign/EVENT_20201126_ENTRANCE_TEMP.png deleted file mode 100644 index 2bfe678b4..000000000 Binary files a/assets/en/campaign/EVENT_20201126_ENTRANCE_TEMP.png and /dev/null differ diff --git a/assets/jp/campaign/EVENT_20201126_ENTRANCE_TEMP.png b/assets/jp/campaign/EVENT_20201126_ENTRANCE_TEMP.png deleted file mode 100644 index 55497c172..000000000 Binary files a/assets/jp/campaign/EVENT_20201126_ENTRANCE_TEMP.png and /dev/null differ diff --git a/campaign/Readme.md b/campaign/Readme.md index 8fffd2c7b..113c0b1b1 100644 --- a/campaign/Readme.md +++ b/campaign/Readme.md @@ -290,4 +290,5 @@ To add a new event, add a new row in here, and run `python -m module.config.conf | 20260416 | event 20220915 cn | Violet Tempest Blooming Lycoris | - | - | - | 復刻紫絳槿嵐 | | 20260417 | event 20260417 cn | Vacation Lane – Beachside Brilliance | 假日航线闪耀海滨 | Vacation Lane – Beachside Brilliance | バケーションレーン・きらめく砂浜 | - | | 20260417 | event 20201126 cn | Vacation Lane Rerun | 复刻假日航线 | Vacation Lane Rerun | バケーションレーン(復刻) | - | -| 20260430 | event 20250424 cn | Toward Tulipa’s Seas | 复刻扬起郁金之旗 | Toward Tulipa’s Seas Rerun | チュリッパの海へ(復刻) | - | +| 20260417 | event 20250424 cn | Toward Tulipa’s Seas Rerun | 复刻扬起郁金之旗 | Toward Tulipa’s Seas Rerun | チュリッパの海へ(復刻) | - | +| 20260417 | event 20260417 cn | Vacation Lane – Beachside Brilliance | - | - | - | 假日航線閃耀海濱 | diff --git a/campaign/campaign_main/campaign_14_4.py b/campaign/campaign_main/campaign_14_4.py index 1952906b3..909676df3 100644 --- a/campaign/campaign_main/campaign_14_4.py +++ b/campaign/campaign_main/campaign_14_4.py @@ -107,9 +107,10 @@ class Campaign(CampaignBase): def map_data_init(self, map_): super().map_data_init(map_) - for override_grid in OVERRIDE: - # Set may_enemy, but keep may_ambush - self.map[override_grid.location].may_enemy = override_grid.may_enemy + if not self.map_is_clear_mode: + for override_grid in OVERRIDE: + # Set may_enemy, but keep may_ambush + self.map[override_grid.location].may_enemy = override_grid.may_enemy def battle_0(self): self.pick_up_light_house(A9) diff --git a/campaign/event_20201126_cn/campaign_base.py b/campaign/event_20201126_cn/campaign_base.py index 61f96ca2e..41382e4c2 100644 --- a/campaign/event_20201126_cn/campaign_base.py +++ b/campaign/event_20201126_cn/campaign_base.py @@ -1,9 +1,9 @@ from module.base.button import Button -from module.campaign.assets import EVENT_20201126_ENTRANCE_TEMP, EVENT_20201126_PT_ICON +from module.campaign.assets import EVENT_20201126_PT_ICON, EVENT_20201126_DETAIL, EVENT_20201126_DETAIL_CHECK, EVENT_20201126_DETAIL_WHITE, EVENT_20201126_ENTRANCE from module.campaign.campaign_base import CampaignBase as CampaignBase_ from module.exception import CampaignNameError from module.logger import logger -from module.ui.page import page_campaign_menu, page_event, page_main +from module.ui.page import page_campaign_menu, page_event, page_main_white EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button=(49, 229, 119, 400), name='EVENT_ANIMATION') @@ -24,11 +24,13 @@ class CampaignBase(CampaignBase_): return True self.ui_ensure(page_campaign_menu) if self.is_event_entrance_available(): - self.ui_ensure(page_main) - self.ui_click(EVENT_20201126_ENTRANCE_TEMP, - check_button=EVENT_20201126_PT_ICON, - appear_button=EVENT_20201126_ENTRANCE_TEMP, - offset=(40, 20)) + self.ui_goto_main() + if self.ui_page_appear(page_main_white): + self.ui_click(EVENT_20201126_DETAIL_WHITE, check_button=EVENT_20201126_DETAIL_CHECK) + else: + self.ui_click(EVENT_20201126_DETAIL, check_button=EVENT_20201126_DETAIL_CHECK) + self.ui_click(EVENT_20201126_ENTRANCE, check_button=EVENT_20201126_PT_ICON, + appear_button=EVENT_20201126_DETAIL_CHECK, offset=(40, 20)) return True diff --git a/campaign/event_20250424_cn/campaign_base.py b/campaign/event_20250424_cn/campaign_base.py index 29a2760cb..c7a4d7a78 100644 --- a/campaign/event_20250424_cn/campaign_base.py +++ b/campaign/event_20250424_cn/campaign_base.py @@ -1,5 +1,7 @@ +from module.campaign.assets import EVENT_20250424_PT_ICON from module.campaign.campaign_base import CampaignBase as CampaignBase_ -from module.ui.page import page_event +from module.logger import logger +from module.ui.page import page_campaign_menu, page_event class CampaignBase(CampaignBase_): @@ -8,3 +10,12 @@ class CampaignBase(CampaignBase_): if self.ui_page_appear(page_event): return False return super().handle_exp_info() + + def ui_goto_event(self): + if self.appear(EVENT_20250424_PT_ICON, offset=(20, 20)) and self.ui_page_appear(page_event): + logger.info('Already at EVENT_20250424') + return True + self.ui_ensure(page_campaign_menu) + if self.is_event_entrance_available(): + self.ui_goto(page_event) + return True diff --git a/campaign/event_20260417_cn/campaign_base.py b/campaign/event_20260417_cn/campaign_base.py index 598566bf9..666a7dcab 100644 --- a/campaign/event_20260417_cn/campaign_base.py +++ b/campaign/event_20260417_cn/campaign_base.py @@ -1,8 +1,8 @@ from module.base.button import Button -from module.campaign.assets import EVENT_20260417_PT_ICON +from module.campaign.assets import EVENT_20260417_PT_ICON, EVENT_20260417_DETAIL, EVENT_20260417_DETAIL_CHECK, EVENT_20260417_DETAIL_WHITE, EVENT_20260417_ENTRANCE from module.campaign.campaign_base import CampaignBase as CampaignBase_ from module.logger import logger -from module.ui.page import page_campaign_menu, page_event +from module.ui.page import page_campaign_menu, page_event, page_main_white EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button=(49, 229, 119, 400), name='EVENT_ANIMATION') @@ -10,12 +10,18 @@ EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button class CampaignBase(CampaignBase_): def ui_goto_event(self): - if self.appear(EVENT_20260417_PT_ICON, offset=(20, 20)) and self.ui_page_appear(page_event): + if self.appear(EVENT_20260417_PT_ICON, offset=(40, 20)) and self.ui_page_appear(page_event): logger.info('Already at EVENT_20260417') return True self.ui_ensure(page_campaign_menu) if self.is_event_entrance_available(): - self.ui_goto(page_event) + self.ui_goto_main() + if self.ui_page_appear(page_main_white): + self.ui_click(EVENT_20260417_DETAIL_WHITE, check_button=EVENT_20260417_DETAIL_CHECK) + else: + self.ui_click(EVENT_20260417_DETAIL, check_button=EVENT_20260417_DETAIL_CHECK) + self.ui_click(EVENT_20260417_ENTRANCE, check_button=EVENT_20260417_PT_ICON, + appear_button=EVENT_20260417_DETAIL_CHECK, offset=(40, 20)) return True @staticmethod diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index cc68a0bb6..66d09ad07 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,7 +1,7 @@ # docker build -t hgjazhgj/alas:latest . # docker run -v ${PWD}:/app/AzurLaneAutoScript -p 22267:22267 --name alas -it --rm hgjazhgj/alas -FROM python:3.7-slim +FROM python:3.7-slim-bullseye WORKDIR /app/AzurLaneAutoScript @@ -10,7 +10,12 @@ COPY requirements.txt /tmp/requirements.txt # Initial download of UiAutomator2 is slow outside of China using appetizer mirror, switch to GitHub RUN apt update \ && apt install -y git adb libgomp1 openssh-client \ + && apt install -y build-essential pkg-config \ + && apt install -y libavformat-dev libavcodec-dev libavdevice-dev \ + && apt install -y libavutil-dev libswscale-dev libswresample-dev libavfilter-dev \ && git config --global --add safe.directory '*' \ + && pip install Cython==0.29.37 \ + && pip install av==10.0.0 --no-build-isolation \ && pip install -r /tmp/requirements.txt \ && rm /tmp/requirements.txt \ && rm -r ~/.cache/pip diff --git a/deploy/docker/Dockerfile.cn b/deploy/docker/Dockerfile.cn index 2db750c3a..c7d879d4d 100644 --- a/deploy/docker/Dockerfile.cn +++ b/deploy/docker/Dockerfile.cn @@ -14,16 +14,19 @@ deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib\n\ deb https://mirrors.aliyun.com/debian-security/ bullseye-security main\n\ deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main\n\ deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib\n\ -deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib\n\ -deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib\n\ -deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" \ +deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" \ > /etc/apt/sources.list \ && apt update \ && apt install -y git adb libgomp1 openssh-client \ + && apt install -y build-essential pkg-config \ + && apt install -y libavformat-dev libavcodec-dev libavdevice-dev \ + && apt install -y libavutil-dev libswscale-dev libswresample-dev libavfilter-dev \ && git config --global --add safe.directory '*' \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' > /etc/timezone \ && pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \ + && pip install Cython==0.29.37 \ + && pip install av==10.0.0 --no-build-isolation \ && pip install -r /tmp/requirements.txt \ && rm /tmp/requirements.txt \ && rm -r ~/.cache/pip diff --git a/module/campaign/assets.py b/module/campaign/assets.py index e5febff17..90e2c507c 100644 --- a/module/campaign/assets.py +++ b/module/campaign/assets.py @@ -11,12 +11,20 @@ CHAPTER_20241219_SP = Button(area={'cn': (17, 372, 34, 388), 'en': (17, 372, 34, CHAPTER_NEXT = Button(area={'cn': (1216, 362, 1232, 388), 'en': (1216, 362, 1232, 388), 'jp': (1216, 362, 1232, 388), 'tw': (1216, 362, 1232, 388)}, color={'cn': (121, 150, 198), 'en': (121, 150, 198), 'jp': (121, 150, 198), 'tw': (121, 150, 198)}, button={'cn': (1216, 362, 1232, 388), 'en': (1216, 362, 1232, 388), 'jp': (1216, 362, 1232, 388), 'tw': (1216, 362, 1232, 388)}, file={'cn': './assets/cn/campaign/CHAPTER_NEXT.png', 'en': './assets/en/campaign/CHAPTER_NEXT.png', 'jp': './assets/jp/campaign/CHAPTER_NEXT.png', 'tw': './assets/tw/campaign/CHAPTER_NEXT.png'}) CHAPTER_PREV = Button(area={'cn': (42, 360, 58, 387), 'en': (42, 360, 58, 387), 'jp': (42, 360, 58, 387), 'tw': (42, 360, 58, 387)}, color={'cn': (105, 133, 169), 'en': (105, 133, 169), 'jp': (105, 133, 169), 'tw': (105, 133, 169)}, button={'cn': (42, 360, 58, 387), 'en': (42, 360, 58, 387), 'jp': (42, 360, 58, 387), 'tw': (42, 360, 58, 387)}, file={'cn': './assets/cn/campaign/CHAPTER_PREV.png', 'en': './assets/en/campaign/CHAPTER_PREV.png', 'jp': './assets/jp/campaign/CHAPTER_PREV.png', 'tw': './assets/tw/campaign/CHAPTER_PREV.png'}) COMMISSION_NOTICE_AT_CAMPAIGN = Button(area={'cn': (1077, 637, 1083, 643), 'en': (1077, 637, 1083, 643), 'jp': (1077, 637, 1083, 643), 'tw': (1077, 637, 1083, 643)}, color={'cn': (172, 72, 49), 'en': (172, 72, 49), 'jp': (172, 72, 49), 'tw': (172, 72, 49)}, button={'cn': (1077, 637, 1083, 643), 'en': (1077, 637, 1083, 643), 'jp': (1077, 637, 1083, 643), 'tw': (1077, 637, 1083, 643)}, file={'cn': './assets/cn/campaign/COMMISSION_NOTICE_AT_CAMPAIGN.png', 'en': './assets/en/campaign/COMMISSION_NOTICE_AT_CAMPAIGN.png', 'jp': './assets/jp/campaign/COMMISSION_NOTICE_AT_CAMPAIGN.png', 'tw': './assets/tw/campaign/COMMISSION_NOTICE_AT_CAMPAIGN.png'}) -EVENT_20201126_ENTRANCE_TEMP = Button(area={'cn': (1022, 375, 1100, 398), 'en': (1025, 367, 1095, 406), 'jp': (1023, 367, 1101, 402), 'tw': (1022, 375, 1100, 398)}, color={'cn': (143, 197, 241), 'en': (156, 206, 243), 'jp': (167, 213, 245), 'tw': (143, 197, 241)}, button={'cn': (1022, 375, 1100, 398), 'en': (1025, 367, 1095, 406), 'jp': (1023, 367, 1101, 402), 'tw': (1022, 375, 1100, 398)}, file={'cn': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'en': './assets/en/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'jp': './assets/jp/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'tw': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png'}) +EVENT_20201126_DETAIL = Button(area={'cn': (617, 470, 659, 510), 'en': (617, 470, 659, 510), 'jp': (617, 470, 659, 510), 'tw': (617, 470, 659, 510)}, color={'cn': (188, 152, 166), 'en': (188, 152, 166), 'jp': (188, 152, 166), 'tw': (188, 152, 166)}, button={'cn': (617, 470, 659, 510), 'en': (617, 470, 659, 510), 'jp': (617, 470, 659, 510), 'tw': (617, 470, 659, 510)}, file={'cn': './assets/cn/campaign/EVENT_20201126_DETAIL.png', 'en': './assets/cn/campaign/EVENT_20201126_DETAIL.png', 'jp': './assets/cn/campaign/EVENT_20201126_DETAIL.png', 'tw': './assets/cn/campaign/EVENT_20201126_DETAIL.png'}) +EVENT_20201126_DETAIL_CHECK = Button(area={'cn': (1198, 20, 1244, 65), 'en': (1198, 20, 1244, 65), 'jp': (1198, 20, 1244, 65), 'tw': (1198, 20, 1244, 65)}, color={'cn': (176, 138, 121), 'en': (176, 138, 121), 'jp': (176, 138, 121), 'tw': (176, 138, 121)}, button={'cn': (1198, 20, 1244, 65), 'en': (1198, 20, 1244, 65), 'jp': (1198, 20, 1244, 65), 'tw': (1198, 20, 1244, 65)}, file={'cn': './assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png', 'en': './assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png', 'jp': './assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png', 'tw': './assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png'}) +EVENT_20201126_DETAIL_WHITE = Button(area={'cn': (969, 94, 1030, 156), 'en': (969, 94, 1030, 156), 'jp': (969, 94, 1030, 156), 'tw': (969, 94, 1030, 156)}, color={'cn': (178, 148, 165), 'en': (178, 148, 165), 'jp': (178, 148, 165), 'tw': (178, 148, 165)}, button={'cn': (969, 94, 1030, 156), 'en': (969, 94, 1030, 156), 'jp': (969, 94, 1030, 156), 'tw': (969, 94, 1030, 156)}, file={'cn': './assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png', 'en': './assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png', 'jp': './assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png', 'tw': './assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png'}) +EVENT_20201126_ENTRANCE = Button(area={'cn': (927, 599, 1054, 631), 'en': (927, 599, 1054, 631), 'jp': (927, 599, 1054, 631), 'tw': (927, 599, 1054, 631)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (927, 599, 1054, 631), 'en': (927, 599, 1054, 631), 'jp': (927, 599, 1054, 631), 'tw': (927, 599, 1054, 631)}, file={'cn': './assets/cn/campaign/EVENT_20201126_ENTRANCE.png', 'en': './assets/cn/campaign/EVENT_20201126_ENTRANCE.png', 'jp': './assets/cn/campaign/EVENT_20201126_ENTRANCE.png', 'tw': './assets/cn/campaign/EVENT_20201126_ENTRANCE.png'}) EVENT_20201126_PT_ICON = Button(area={'cn': (1108, 102, 1133, 127), 'en': (1108, 102, 1133, 127), 'jp': (1108, 102, 1133, 127), 'tw': (1108, 102, 1133, 127)}, color={'cn': (231, 121, 159), 'en': (231, 121, 159), 'jp': (231, 121, 159), 'tw': (231, 121, 159)}, button={'cn': (1108, 102, 1133, 127), 'en': (1108, 102, 1133, 127), 'jp': (1108, 102, 1133, 127), 'tw': (1108, 102, 1133, 127)}, file={'cn': './assets/cn/campaign/EVENT_20201126_PT_ICON.png', 'en': './assets/cn/campaign/EVENT_20201126_PT_ICON.png', 'jp': './assets/cn/campaign/EVENT_20201126_PT_ICON.png', 'tw': './assets/cn/campaign/EVENT_20201126_PT_ICON.png'}) EVENT_20221124_ENTRANCE = Button(area={'cn': (1037, 162, 1077, 195), 'en': (1037, 162, 1077, 195), 'jp': (1037, 162, 1077, 195), 'tw': (1037, 162, 1077, 195)}, color={'cn': (207, 168, 148), 'en': (207, 168, 148), 'jp': (207, 168, 148), 'tw': (207, 168, 148)}, button={'cn': (1037, 162, 1077, 195), 'en': (1037, 162, 1077, 195), 'jp': (1037, 162, 1077, 195), 'tw': (1037, 162, 1077, 195)}, file={'cn': './assets/cn/campaign/EVENT_20221124_ENTRANCE.png', 'en': './assets/cn/campaign/EVENT_20221124_ENTRANCE.png', 'jp': './assets/cn/campaign/EVENT_20221124_ENTRANCE.png', 'tw': './assets/cn/campaign/EVENT_20221124_ENTRANCE.png'}) EVENT_20221124_PT_ICON = Button(area={'cn': (1106, 109, 1135, 130), 'en': (1071, 109, 1101, 129), 'jp': (1106, 109, 1135, 130), 'tw': (1106, 109, 1135, 130)}, color={'cn': (151, 116, 139), 'en': (152, 115, 138), 'jp': (151, 116, 139), 'tw': (151, 116, 139)}, button={'cn': (1106, 109, 1135, 130), 'en': (1071, 109, 1101, 129), 'jp': (1106, 109, 1135, 130), 'tw': (1106, 109, 1135, 130)}, file={'cn': './assets/cn/campaign/EVENT_20221124_PT_ICON.png', 'en': './assets/en/campaign/EVENT_20221124_PT_ICON.png', 'jp': './assets/cn/campaign/EVENT_20221124_PT_ICON.png', 'tw': './assets/cn/campaign/EVENT_20221124_PT_ICON.png'}) EVENT_20230817_STORY = Button(area={'cn': (610, 320, 670, 380), 'en': (610, 320, 670, 380), 'jp': (610, 320, 670, 380), 'tw': (610, 320, 670, 380)}, color={'cn': (183, 180, 190), 'en': (183, 180, 190), 'jp': (183, 180, 190), 'tw': (183, 180, 190)}, button={'cn': (610, 320, 670, 380), 'en': (610, 320, 670, 380), 'jp': (610, 320, 670, 380), 'tw': (610, 320, 670, 380)}, file={'cn': './assets/cn/campaign/EVENT_20230817_STORY.png', 'en': './assets/en/campaign/EVENT_20230817_STORY.png', 'jp': './assets/jp/campaign/EVENT_20230817_STORY.png', 'tw': './assets/tw/campaign/EVENT_20230817_STORY.png'}) +EVENT_20250424_PT_ICON = Button(area={'cn': (1109, 109, 1133, 131), 'en': (1109, 109, 1133, 131), 'jp': (1109, 109, 1133, 131), 'tw': (1109, 109, 1133, 131)}, color={'cn': (182, 173, 150), 'en': (182, 173, 150), 'jp': (182, 173, 150), 'tw': (182, 173, 150)}, button={'cn': (1109, 109, 1133, 131), 'en': (1109, 109, 1133, 131), 'jp': (1109, 109, 1133, 131), 'tw': (1109, 109, 1133, 131)}, file={'cn': './assets/cn/campaign/EVENT_20250424_PT_ICON.png', 'en': './assets/cn/campaign/EVENT_20250424_PT_ICON.png', 'jp': './assets/cn/campaign/EVENT_20250424_PT_ICON.png', 'tw': './assets/cn/campaign/EVENT_20250424_PT_ICON.png'}) EVENT_20250724_PT_ICON = Button(area={'cn': (1102, 106, 1139, 121), 'en': (1067, 108, 1104, 123), 'jp': (1102, 106, 1139, 121), 'tw': (1102, 106, 1139, 121)}, color={'cn': (95, 103, 93), 'en': (97, 101, 94), 'jp': (95, 103, 93), 'tw': (95, 103, 93)}, button={'cn': (1102, 106, 1139, 121), 'en': (1067, 108, 1104, 123), 'jp': (1102, 106, 1139, 121), 'tw': (1102, 106, 1139, 121)}, file={'cn': './assets/cn/campaign/EVENT_20250724_PT_ICON.png', 'en': './assets/en/campaign/EVENT_20250724_PT_ICON.png', 'jp': './assets/cn/campaign/EVENT_20250724_PT_ICON.png', 'tw': './assets/cn/campaign/EVENT_20250724_PT_ICON.png'}) +EVENT_20260417_DETAIL = Button(area={'cn': (618, 251, 658, 290), 'en': (618, 251, 658, 290), 'jp': (618, 251, 658, 290), 'tw': (618, 251, 658, 290)}, color={'cn': (221, 188, 185), 'en': (221, 188, 185), 'jp': (221, 188, 185), 'tw': (221, 188, 185)}, button={'cn': (618, 251, 658, 290), 'en': (618, 251, 658, 290), 'jp': (618, 251, 658, 290), 'tw': (618, 251, 658, 290)}, file={'cn': './assets/cn/campaign/EVENT_20260417_DETAIL.png', 'en': './assets/cn/campaign/EVENT_20260417_DETAIL.png', 'jp': './assets/cn/campaign/EVENT_20260417_DETAIL.png', 'tw': './assets/cn/campaign/EVENT_20260417_DETAIL.png'}) +EVENT_20260417_DETAIL_CHECK = Button(area={'cn': (439, 216, 535, 293), 'en': (439, 216, 535, 293), 'jp': (439, 216, 535, 293), 'tw': (439, 216, 535, 293)}, color={'cn': (187, 160, 173), 'en': (187, 160, 173), 'jp': (187, 160, 173), 'tw': (187, 160, 173)}, button={'cn': (439, 216, 535, 293), 'en': (439, 216, 535, 293), 'jp': (439, 216, 535, 293), 'tw': (439, 216, 535, 293)}, file={'cn': './assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png', 'en': './assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png', 'jp': './assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png', 'tw': './assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png'}) +EVENT_20260417_DETAIL_WHITE = Button(area={'cn': (1081, 92, 1141, 153), 'en': (1081, 92, 1141, 153), 'jp': (1081, 92, 1141, 153), 'tw': (1081, 92, 1141, 153)}, color={'cn': (211, 173, 175), 'en': (211, 173, 175), 'jp': (211, 173, 175), 'tw': (211, 173, 175)}, button={'cn': (1081, 92, 1141, 153), 'en': (1081, 92, 1141, 153), 'jp': (1081, 92, 1141, 153), 'tw': (1081, 92, 1141, 153)}, file={'cn': './assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png', 'en': './assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png', 'jp': './assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png', 'tw': './assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png'}) +EVENT_20260417_ENTRANCE = Button(area={'cn': (957, 522, 1091, 573), 'en': (957, 522, 1091, 573), 'jp': (957, 522, 1091, 573), 'tw': (957, 522, 1091, 573)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (957, 522, 1091, 573), 'en': (957, 522, 1091, 573), 'jp': (957, 522, 1091, 573), 'tw': (957, 522, 1091, 573)}, file={'cn': './assets/cn/campaign/EVENT_20260417_ENTRANCE.png', 'en': './assets/cn/campaign/EVENT_20260417_ENTRANCE.png', 'jp': './assets/cn/campaign/EVENT_20260417_ENTRANCE.png', 'tw': './assets/cn/campaign/EVENT_20260417_ENTRANCE.png'}) EVENT_20260417_PT_ICON = Button(area={'cn': (1110, 106, 1133, 130), 'en': (1110, 106, 1133, 130), 'jp': (1110, 106, 1133, 130), 'tw': (1110, 106, 1133, 130)}, color={'cn': (119, 177, 213), 'en': (119, 177, 213), 'jp': (119, 177, 213), 'tw': (119, 177, 213)}, button={'cn': (1110, 106, 1133, 130), 'en': (1110, 106, 1133, 130), 'jp': (1110, 106, 1133, 130), 'tw': (1110, 106, 1133, 130)}, file={'cn': './assets/cn/campaign/EVENT_20260417_PT_ICON.png', 'en': './assets/cn/campaign/EVENT_20260417_PT_ICON.png', 'jp': './assets/cn/campaign/EVENT_20260417_PT_ICON.png', 'tw': './assets/cn/campaign/EVENT_20260417_PT_ICON.png'}) OCR_COIN = Button(area={'cn': (815, 23, 922, 51), 'en': (815, 23, 922, 51), 'jp': (815, 23, 922, 51), 'tw': (815, 23, 922, 51)}, color={'cn': (61, 61, 73), 'en': (61, 61, 73), 'jp': (61, 61, 73), 'tw': (61, 61, 73)}, button={'cn': (815, 23, 922, 51), 'en': (815, 23, 922, 51), 'jp': (815, 23, 922, 51), 'tw': (815, 23, 922, 51)}, file={'cn': './assets/cn/campaign/OCR_COIN.png', 'en': './assets/en/campaign/OCR_COIN.png', 'jp': './assets/jp/campaign/OCR_COIN.png', 'tw': './assets/tw/campaign/OCR_COIN.png'}) OCR_COIN_LIMIT = Button(area={'cn': (807, 0, 944, 19), 'en': (807, 0, 944, 19), 'jp': (807, 0, 944, 19), 'tw': (807, 0, 944, 19)}, color={'cn': (206, 206, 206), 'en': (206, 206, 206), 'jp': (206, 206, 206), 'tw': (206, 206, 206)}, button={'cn': (807, 0, 944, 19), 'en': (807, 0, 944, 19), 'jp': (807, 0, 944, 19), 'tw': (807, 0, 944, 19)}, file={'cn': './assets/cn/campaign/OCR_COIN_LIMIT.png', 'en': './assets/en/campaign/OCR_COIN_LIMIT.png', 'jp': './assets/jp/campaign/OCR_COIN_LIMIT.png', 'tw': './assets/tw/campaign/OCR_COIN_LIMIT.png'}) diff --git a/module/config/argument/args.json b/module/config/argument/args.json index bd47f16a4..3652d8d7d 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1967,24 +1967,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -2387,24 +2395,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -2801,24 +2817,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -4608,24 +4632,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -5040,24 +5072,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -5472,24 +5512,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -5904,24 +5952,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { @@ -6326,24 +6382,32 @@ "type": "select", "value": "campaign_main", "option": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ], "option_cn": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_en": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_jp": [ - "event_20250424_cn" + "event_20250424_cn", + "event_20201126_cn", + "event_20260417_cn" ], "option_tw": [ - "event_20220915_cn" + "event_20260417_cn" ], "option_bold": [ - "event_20220915_cn", - "event_20250424_cn" + "event_20201126_cn", + "event_20250424_cn", + "event_20260417_cn" ] }, "Mode": { diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 5f7f05b0b..3539f6377 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -799,7 +799,7 @@ "event_20251218_cn": "響徹於天穹之音", "event_20260226_cn": "春滿客棧Online", "event_20260326_cn": "漫遊者招募計劃", - "event_20260417_cn": "Vacation Lane – Beachside Brilliance", + "event_20260417_cn": "假日航線閃耀海濱", "raid_20200624": "特別演習埃塞克斯級(復刻)", "raid_20210708": "復刻穿越彼方的水線", "raid_20220127": "演習神秘事件調查",