1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-04-24 17:59:59 +08:00

Upd: event 20201126 rerun

This commit is contained in:
2026-04-23 17:17:36 +08:00
25 changed files with 166 additions and 77 deletions

View File

@@ -11,10 +11,13 @@ 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': (1023, 368, 1100, 407), 'en': (1023, 368, 1100, 407), 'jp': (1023, 368, 1100, 407), 'tw': (1023, 368, 1100, 407)}, color={'cn': (160, 208, 243), 'en': (160, 208, 243), 'jp': (160, 208, 243), 'tw': (160, 208, 243)}, button={'cn': (1023, 368, 1100, 407), 'en': (1023, 368, 1100, 407), 'jp': (1023, 368, 1100, 407), 'tw': (1023, 368, 1100, 407)}, file={'cn': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'en': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'jp': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.png', 'tw': './assets/cn/campaign/EVENT_20201126_ENTRANCE_TEMP.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_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_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'})
OCR_EVENT_PT = Button(area={'cn': (1196, 109, 1280, 131), 'en': (1190, 109, 1280, 129), 'jp': (1196, 109, 1280, 131), 'tw': (1196, 109, 1280, 131)}, color={'cn': (121, 110, 59), 'en': (88, 78, 51), 'jp': (121, 110, 59), 'tw': (121, 110, 59)}, button={'cn': (1196, 109, 1280, 131), 'en': (1190, 109, 1280, 129), 'jp': (1196, 109, 1280, 131), 'tw': (1196, 109, 1280, 131)}, file={'cn': './assets/cn/campaign/OCR_EVENT_PT.png', 'en': './assets/en/campaign/OCR_EVENT_PT.png', 'jp': './assets/jp/campaign/OCR_EVENT_PT.png', 'tw': './assets/tw/campaign/OCR_EVENT_PT.png'})

View File

@@ -177,6 +177,7 @@ class CampaignRun(CampaignEvent, ShopStatus):
logger.info(f'Stage name {name} is from campaign_main')
folder = 'campaign_main'
else:
folder = self.config.cross_get('GemsFarming.Campaign.Event')
if folder is not None:
logger.info(f'Stage name {name} is from event {folder}')
else:

View File

@@ -1967,23 +1967,27 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"display": "hide",
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -2385,25 +2389,30 @@
"value": "12-4"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -2799,25 +2808,30 @@
"value": "12-4"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -3230,7 +3244,7 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"raid_20260212"
@@ -4606,25 +4620,30 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -5038,25 +5057,30 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -5470,25 +5494,30 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -5902,25 +5931,30 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -6324,25 +6358,30 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
],
"option_cn": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_en": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_jp": [
"event_20201126_cn",
"event_20260417_cn"
],
"option_tw": [
"event_20220915_cn"
],
"option_bold": [
"event_20201126_cn",
"event_20220915_cn",
"event_20260417_cn"
]
@@ -6753,7 +6792,7 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"raid_20260212"
@@ -6995,7 +7034,7 @@
"display": "hide"
},
"Event": {
"type": "state",
"type": "select",
"value": "campaign_main",
"option": [
"coalition_20260122"

View File

@@ -28,8 +28,6 @@ Main3:
Event: campaign_main
GemsFarming:
Campaign:
Event:
value: campaign_main
Mode: normal
UseClearMode: true
UseFleetLock: true
@@ -57,14 +55,10 @@ GemsFarming:
Event:
Campaign:
Mode: normal
Event:
type: state
AmbushEvade: true
Event2:
Campaign:
Mode: normal
Event:
type: state
AmbushEvade: true
EventA:
Scheduler:
@@ -73,8 +67,6 @@ EventA:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true
@@ -92,8 +84,6 @@ EventB:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true
@@ -111,8 +101,6 @@ EventC:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true
@@ -130,8 +118,6 @@ EventD:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true
@@ -149,8 +135,6 @@ EventSp:
ServerUpdate: 00:00
Campaign:
Name: sp
Event:
type: state
Mode: normal
Use2xBook: false
AmbushEvade: true
@@ -166,8 +150,6 @@ EventSp:
Raid:
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
UseClearMode: true
UseFleetLock: true
@@ -212,8 +194,6 @@ RaidDaily:
ServerUpdate: 00:00
Campaign:
Name: dynamic
Event:
type: state
Mode: normal
UseClearMode: true
UseFleetLock: true
@@ -245,8 +225,6 @@ Coalition:
FailureInterval: 30
ServerUpdate: 00:00
Campaign:
Event:
type: state
Name: dynamic
Event:
type: state
@@ -279,8 +257,6 @@ CoalitionSp:
ServerUpdate: 00:00
Campaign:
Name: sp
Event:
type: state
Mode: normal
UseClearMode: true
UseFleetLock: true

View File

@@ -657,17 +657,24 @@ class ConfigUpdater:
if not is_template:
for task in EVENTS + GEMS_FARMINGS + RAIDS + COALITIONS:
opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if not deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') in opts:
if opts and not deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') in opts:
deep_set(new,
keys=f'{task}.Campaign.Event',
value=opts[0])
for task in ['GemsFarming']:
opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if opts and deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') not in opts:
deep_set(new,
keys=f'{task}.Campaign.Event',
value=opts[0])
# War archive does not allow campaign_main
for task in WAR_ARCHIVES:
if deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') == 'campaign_main':
opts = deep_get(self.args, keys=f'{task}.Campaign.Event.option_{server}', default=[])
if opts and deep_get(new, keys=f'{task}.Campaign.Event', default='campaign_main') == 'campaign_main':
deep_set(new,
keys=f'{task}.Campaign.Event',
value=deep_get(self.args, f'{task}.Campaign.Event.option_{server}')[0])
value=opts[0])
# Events does not allow default stage 12-4
def default_stage(t, stage):

View File

@@ -736,7 +736,7 @@
"event_20201002_en": "Counterattack Within the Fjord",
"event_20201012_cn": "Sundered Blue Rerun",
"event_20201029_cn": "Universe in Unison",
"event_20201126_cn": "Vacation Lane",
"event_20201126_cn": "Vacation Lane Rerun",
"event_20201229_cn": "Inverted Orthant Rerun",
"event_20210121_cn": "Empyreal Tragicomedy Rerun",
"event_20210225_cn": "Khorovod of Dawns Rime Rerun",

View File

@@ -736,7 +736,7 @@
"event_20201002_en": "Counterattack Within the Fjord",
"event_20201012_cn": "奔る彩帆の青(復刻)",
"event_20201029_cn": "激唱のユニバース",
"event_20201126_cn": "バケーションレーン",
"event_20201126_cn": "バケーションレーン(復刻)",
"event_20201229_cn": "虚畳なりし限象(復刻)",
"event_20210121_cn": "悲歎せし焔海の詩(復刻)",
"event_20210225_cn": "暁射す氷華の嵐(復刻)",

View File

@@ -736,7 +736,7 @@
"event_20201002_en": "Counterattack Within the Fjord",
"event_20201012_cn": "复刻划破海空之翼",
"event_20201029_cn": "激唱的UNIVERSE",
"event_20201126_cn": "假日航线",
"event_20201126_cn": "复刻假日航线",
"event_20201229_cn": "复刻负象限作战",
"event_20210121_cn": "复刻神圣的悲喜剧",
"event_20210225_cn": "复刻破晓冰华",

View File

@@ -1,4 +1,5 @@
from typing import List
from module.base.button import ButtonGrid
from module.base.decorator import cached_property
from module.base.template import Template
@@ -6,9 +7,9 @@ from module.logger import logger
from module.map_detection.utils import Points
from module.os_handler.map_event import MapEventHandler
from module.os_handler.os_status import OSStatus
from module.os_shop.item import OSShopItem as Item, OSShopItemGrid as ItemGrid
from module.os_shop.selector import Selector
from module.os_shop.ui import OSShopUI, OS_SHOP_SCROLL
from module.os_shop.item import OSShopItem as Item, OSShopItemGrid as ItemGrid
from module.statistics.utils import load_folder
@@ -133,19 +134,21 @@ class PortShop(OSStatus, OSShopUI, Selector, MapEventHandler):
while True:
pre_pos = self.pre_scroll(pre_pos, cur_pos)
_items = self.os_shop_get_items(i, cur_pos)
for _ in range(2):
_items = []
for _ in range(3):
_items = self.os_shop_get_items(i, cur_pos)
if not len(_items) or any(not item.is_known_item() for item in _items):
logger.warning('Empty OS shop or empty items, confirming')
self.device.sleep((0.3, 0.5))
self.device.screenshot()
_items = self.os_shop_get_items(i, cur_pos)
continue
else:
items += _items
logger.info(f'Found {len(_items)} items in shop {i + 1} at pos {cur_pos:.2f}')
break
# always add items, even if last item list contains unknown items
# so any known items can be scanned
items += _items
if OS_SHOP_SCROLL.at_bottom(main=self):
logger.info('OS shop reach bottom, stop')

View File

@@ -340,6 +340,7 @@ class AlasGUI(Frame):
@use_scope("groups")
def set_group(self, group, arg_dict, config, task):
group_name = group[0]
server = to_server(deep_get(config, "Alas.Emulator.PackageName", "cn"))
output_list: List[Output] = []
for arg, arg_dict in deep_iter(arg_dict, depth=1):
@@ -371,11 +372,22 @@ class AlasGUI(Frame):
output_kwargs["value"] = value
# Options
options = output_kwargs.pop("option", [])
server = to_server(deep_get(config, 'Alas.Emulator.PackageName', 'cn'))
available_events = deep_get(self.ALAS_ARGS, keys=f'{task}.{group_name}.{arg_name}.option_{server}')
if available_events is not None:
options = [opt for opt in options if opt in available_events]
server_options = output_kwargs.get(f"option_{server}")
if output_kwargs["widget_type"] == "select" and isinstance(server_options, list) and server_options:
options = server_options
output_kwargs["options"] = options
if (
task == "GemsFarming"
and group_name == "Campaign"
and arg_name == "Event"
and output_kwargs["widget_type"] == "select"
and len(options) == 1
):
continue
if output_kwargs["widget_type"] == "select" and len(options) == 1:
only_option = options[0]
if only_option in output_kwargs.get("option_bold", []):
output_kwargs["widget_type"] = "state"
# Options label
options_label = []
for opt in options: