Merge branch 'dev'
BIN
assets/cn/campaign/EVENT_20201126_DETAIL.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/cn/campaign/EVENT_20201126_DETAIL_CHECK.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/cn/campaign/EVENT_20201126_DETAIL_WHITE.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/cn/campaign/EVENT_20201126_ENTRANCE.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
BIN
assets/cn/campaign/EVENT_20250424_PT_ICON.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
assets/cn/campaign/EVENT_20260417_DETAIL.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/cn/campaign/EVENT_20260417_DETAIL_CHECK.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
assets/cn/campaign/EVENT_20260417_DETAIL_WHITE.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/cn/campaign/EVENT_20260417_ENTRANCE.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -289,3 +289,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 | - | - | - | 復刻紫絳槿嵐 |
|
| 20260416 | event 20220915 cn | Violet Tempest Blooming Lycoris | - | - | - | 復刻紫絳槿嵐 |
|
||||||
| 20260417 | event 20260417 cn | Vacation Lane – Beachside Brilliance | 假日航线闪耀海滨 | Vacation Lane – Beachside Brilliance | バケーションレーン・きらめく砂浜 | - |
|
| 20260417 | event 20260417 cn | Vacation Lane – Beachside Brilliance | 假日航线闪耀海滨 | Vacation Lane – Beachside Brilliance | バケーションレーン・きらめく砂浜 | - |
|
||||||
| 20260417 | event 20201126 cn | Vacation Lane Rerun | 复刻假日航线 | Vacation Lane Rerun | バケーションレーン(復刻) | - |
|
| 20260417 | event 20201126 cn | Vacation Lane Rerun | 复刻假日航线 | Vacation Lane Rerun | バケーションレーン(復刻) | - |
|
||||||
|
| 20260417 | event 20250424 cn | Toward Tulipa’s Seas Rerun | 复刻扬起郁金之旗 | Toward Tulipa’s Seas Rerun | チュリッパの海へ(復刻) | - |
|
||||||
|
| 20260417 | event 20260417 cn | Vacation Lane – Beachside Brilliance | - | - | - | 假日航線閃耀海濱 |
|
||||||
|
|||||||
@@ -107,9 +107,10 @@ class Campaign(CampaignBase):
|
|||||||
|
|
||||||
def map_data_init(self, map_):
|
def map_data_init(self, map_):
|
||||||
super().map_data_init(map_)
|
super().map_data_init(map_)
|
||||||
for override_grid in OVERRIDE:
|
if not self.map_is_clear_mode:
|
||||||
# Set may_enemy, but keep may_ambush
|
for override_grid in OVERRIDE:
|
||||||
self.map[override_grid.location].may_enemy = override_grid.may_enemy
|
# Set may_enemy, but keep may_ambush
|
||||||
|
self.map[override_grid.location].may_enemy = override_grid.may_enemy
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.pick_up_light_house(A9)
|
self.pick_up_light_house(A9)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
from module.base.button import Button
|
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.campaign.campaign_base import CampaignBase as CampaignBase_
|
||||||
from module.exception import CampaignNameError
|
from module.exception import CampaignNameError
|
||||||
from module.logger import logger
|
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),
|
EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button=(49, 229, 119, 400),
|
||||||
name='EVENT_ANIMATION')
|
name='EVENT_ANIMATION')
|
||||||
@@ -24,11 +24,13 @@ class CampaignBase(CampaignBase_):
|
|||||||
return True
|
return True
|
||||||
self.ui_ensure(page_campaign_menu)
|
self.ui_ensure(page_campaign_menu)
|
||||||
if self.is_event_entrance_available():
|
if self.is_event_entrance_available():
|
||||||
self.ui_ensure(page_main)
|
self.ui_goto_main()
|
||||||
self.ui_click(EVENT_20201126_ENTRANCE_TEMP,
|
if self.ui_page_appear(page_main_white):
|
||||||
check_button=EVENT_20201126_PT_ICON,
|
self.ui_click(EVENT_20201126_DETAIL_WHITE, check_button=EVENT_20201126_DETAIL_CHECK)
|
||||||
appear_button=EVENT_20201126_ENTRANCE_TEMP,
|
else:
|
||||||
offset=(40, 20))
|
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
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
from module.campaign.assets import EVENT_20250424_PT_ICON
|
||||||
from module.campaign.campaign_base import CampaignBase as CampaignBase_
|
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_):
|
class CampaignBase(CampaignBase_):
|
||||||
@@ -8,3 +10,12 @@ class CampaignBase(CampaignBase_):
|
|||||||
if self.ui_page_appear(page_event):
|
if self.ui_page_appear(page_event):
|
||||||
return False
|
return False
|
||||||
return super().handle_exp_info()
|
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
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
from module.base.button import Button
|
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.campaign.campaign_base import CampaignBase as CampaignBase_
|
||||||
from module.logger import logger
|
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),
|
EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button=(49, 229, 119, 400),
|
||||||
name='EVENT_ANIMATION')
|
name='EVENT_ANIMATION')
|
||||||
@@ -10,12 +10,18 @@ EVENT_ANIMATION = Button(area=(49, 229, 119, 400), color=(118, 215, 240), button
|
|||||||
|
|
||||||
class CampaignBase(CampaignBase_):
|
class CampaignBase(CampaignBase_):
|
||||||
def ui_goto_event(self):
|
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')
|
logger.info('Already at EVENT_20260417')
|
||||||
return True
|
return True
|
||||||
self.ui_ensure(page_campaign_menu)
|
self.ui_ensure(page_campaign_menu)
|
||||||
if self.is_event_entrance_available():
|
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
|
return True
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# docker build -t hgjazhgj/alas:latest .
|
# docker build -t hgjazhgj/alas:latest .
|
||||||
# docker run -v ${PWD}:/app/AzurLaneAutoScript -p 22267:22267 --name alas -it --rm hgjazhgj/alas
|
# 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
|
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
|
# Initial download of UiAutomator2 is slow outside of China using appetizer mirror, switch to GitHub
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt install -y git adb libgomp1 openssh-client \
|
&& 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 '*' \
|
&& 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 \
|
&& pip install -r /tmp/requirements.txt \
|
||||||
&& rm /tmp/requirements.txt \
|
&& rm /tmp/requirements.txt \
|
||||||
&& rm -r ~/.cache/pip
|
&& rm -r ~/.cache/pip
|
||||||
|
|||||||
@@ -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 https://mirrors.aliyun.com/debian-security/ bullseye-security main\n\
|
||||||
deb-src 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 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-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" \
|
||||||
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" \
|
|
||||||
> /etc/apt/sources.list \
|
> /etc/apt/sources.list \
|
||||||
&& apt update \
|
&& apt update \
|
||||||
&& apt install -y git adb libgomp1 openssh-client \
|
&& 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 '*' \
|
&& git config --global --add safe.directory '*' \
|
||||||
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||||
&& echo 'Asia/Shanghai' > /etc/timezone \
|
&& echo 'Asia/Shanghai' > /etc/timezone \
|
||||||
&& pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
|
&& 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 \
|
&& pip install -r /tmp/requirements.txt \
|
||||||
&& rm /tmp/requirements.txt \
|
&& rm /tmp/requirements.txt \
|
||||||
&& rm -r ~/.cache/pip
|
&& rm -r ~/.cache/pip
|
||||||
|
|||||||
@@ -1643,27 +1643,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -1930,27 +1933,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -2332,27 +2338,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4064,27 +4073,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4483,27 +4495,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4902,27 +4917,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -5321,27 +5339,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -5730,27 +5751,30 @@
|
|||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_cn": [
|
"option_cn": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_en": [
|
"option_en": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_jp": [
|
"option_jp": [
|
||||||
|
"event_20250424_cn",
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_tw": [
|
"option_tw": [
|
||||||
"event_20220915_cn"
|
"event_20260417_cn"
|
||||||
],
|
],
|
||||||
"option_bold": [
|
"option_bold": [
|
||||||
"event_20201126_cn",
|
"event_20201126_cn",
|
||||||
"event_20220915_cn",
|
"event_20250424_cn",
|
||||||
"event_20260417_cn"
|
"event_20260417_cn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -760,7 +760,7 @@
|
|||||||
"event_20241121_cn": "Dangerous Inventions Incoming",
|
"event_20241121_cn": "Dangerous Inventions Incoming",
|
||||||
"event_20241219_cn": "Substellar Crepuscule",
|
"event_20241219_cn": "Substellar Crepuscule",
|
||||||
"event_20250227_cn": "Paradiso of Shackled Light",
|
"event_20250227_cn": "Paradiso of Shackled Light",
|
||||||
"event_20250424_cn": "Toward Tulipa’s Seas",
|
"event_20250424_cn": "Toward Tulipa’s Seas Rerun",
|
||||||
"event_20250520_cn": "A Rose on the High Tower",
|
"event_20250520_cn": "A Rose on the High Tower",
|
||||||
"event_20250724_cn": "The Alchemist and the Tower of Horizons",
|
"event_20250724_cn": "The Alchemist and the Tower of Horizons",
|
||||||
"event_20250814_cn": "Secrets of the Abyss",
|
"event_20250814_cn": "Secrets of the Abyss",
|
||||||
|
|||||||
@@ -760,7 +760,7 @@
|
|||||||
"event_20241121_cn": "危険発明接近中",
|
"event_20241121_cn": "危険発明接近中",
|
||||||
"event_20241219_cn": "星降る夕影の残光",
|
"event_20241219_cn": "星降る夕影の残光",
|
||||||
"event_20250227_cn": "籠檻に囚われし神光",
|
"event_20250227_cn": "籠檻に囚われし神光",
|
||||||
"event_20250424_cn": "チュリッパの海へ",
|
"event_20250424_cn": "チュリッパの海へ(復刻)",
|
||||||
"event_20250520_cn": "高い塔の薔薇",
|
"event_20250520_cn": "高い塔の薔薇",
|
||||||
"event_20250724_cn": "錬金術士と天空邂逅の塔",
|
"event_20250724_cn": "錬金術士と天空邂逅の塔",
|
||||||
"event_20250814_cn": "淵層界の秘密",
|
"event_20250814_cn": "淵層界の秘密",
|
||||||
|
|||||||
@@ -760,7 +760,7 @@
|
|||||||
"event_20241121_cn": "危险发明迫近中",
|
"event_20241121_cn": "危险发明迫近中",
|
||||||
"event_20241219_cn": "星光下的余晖",
|
"event_20241219_cn": "星光下的余晖",
|
||||||
"event_20250227_cn": "樊笼内的神光",
|
"event_20250227_cn": "樊笼内的神光",
|
||||||
"event_20250424_cn": "扬起郁金之旗",
|
"event_20250424_cn": "复刻扬起郁金之旗",
|
||||||
"event_20250520_cn": "高塔上的蔷薇",
|
"event_20250520_cn": "高塔上的蔷薇",
|
||||||
"event_20250724_cn": "优米雅的炼金工房",
|
"event_20250724_cn": "优米雅的炼金工房",
|
||||||
"event_20250814_cn": "奇渊下的秘密",
|
"event_20250814_cn": "奇渊下的秘密",
|
||||||
|
|||||||
@@ -769,7 +769,7 @@
|
|||||||
"event_20251218_cn": "響徹於天穹之音",
|
"event_20251218_cn": "響徹於天穹之音",
|
||||||
"event_20260226_cn": "春滿客棧Online",
|
"event_20260226_cn": "春滿客棧Online",
|
||||||
"event_20260326_cn": "漫遊者招募計劃",
|
"event_20260326_cn": "漫遊者招募計劃",
|
||||||
"event_20260417_cn": "Vacation Lane – Beachside Brilliance",
|
"event_20260417_cn": "假日航線閃耀海濱",
|
||||||
"raid_20200624": "特別演習埃塞克斯級(復刻)",
|
"raid_20200624": "特別演習埃塞克斯級(復刻)",
|
||||||
"raid_20210708": "復刻穿越彼方的水線",
|
"raid_20210708": "復刻穿越彼方的水線",
|
||||||
"raid_20220127": "演習神秘事件調查",
|
"raid_20220127": "演習神秘事件調查",
|
||||||
|
|||||||