mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-25 10:01:10 +00:00
commit
4cab808f71
67
.github/ISSUE_TEMPLATE/bug_report_cn.yaml
vendored
Normal file
67
.github/ISSUE_TEMPLATE/bug_report_cn.yaml
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
name: 上报 Bug
|
||||
description: 使用中文进行 Bug 报告
|
||||
labels: ['bug / 缺陷']
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: checks
|
||||
attributes:
|
||||
label: 在提问之前...
|
||||
options:
|
||||
- label: 我已经搜索了现有的 issues
|
||||
required: true
|
||||
- label: 我在提问题之前至少花费了 5 分钟来思考和准备
|
||||
required: true
|
||||
- label: 我正在使用最新版的 SRC
|
||||
required: true
|
||||
- type: textarea
|
||||
id: describe
|
||||
attributes:
|
||||
label: 描述你的问题
|
||||
description: 简要描述你的问题
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: 如何复现
|
||||
description: 重现该行为的步骤
|
||||
value: |
|
||||
1. 前往 '...'
|
||||
2. 点击 '....'
|
||||
3. 滑动到 '....'
|
||||
4. 出现问题
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: 预期行为
|
||||
description: 简要描述你期望发生的事情
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: 相关 Logs
|
||||
description: 请复制并粘贴任何相关的日志输出。
|
||||
render: Text
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: 截图
|
||||
description: |
|
||||
如果有,添加屏幕截图以帮助解释你的问题。
|
||||
提示: 可以通过点击这个区域,然后把文件拖进来添加图片或日志文件。
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: others
|
||||
attributes:
|
||||
label: 还有别的吗?
|
||||
description: |
|
||||
相关的配置?链接?参考资料?
|
||||
任何能让我们对你所遇到的问题有更多了解的东西。
|
||||
validations:
|
||||
required: false
|
67
.github/ISSUE_TEMPLATE/bug_report_en.yaml
vendored
Normal file
67
.github/ISSUE_TEMPLATE/bug_report_en.yaml
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
name: Bug Report
|
||||
description: Create a report to help us improve
|
||||
labels: ['bug / 缺陷']
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: checks
|
||||
attributes:
|
||||
label: Before you asking
|
||||
options:
|
||||
- label: I have searched the existing issues
|
||||
required: true
|
||||
- label: I spend at least 5 minutes for thinking and preparing
|
||||
required: true
|
||||
- label: I am using the latest version of SRC
|
||||
required: true
|
||||
- type: textarea
|
||||
id: describe
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: A clear and concise description of what the bug is.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: To Reproduce
|
||||
description: Steps to reproduce the behavior
|
||||
value: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: Text
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: |
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: others
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Related configs? Links? References?
|
||||
Anything that will give us more context about the issue you are encountering!
|
||||
validations:
|
||||
required: false
|
25
.github/ISSUE_TEMPLATE/feature_request_cn.yaml
vendored
Normal file
25
.github/ISSUE_TEMPLATE/feature_request_cn.yaml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
name: 功能请求
|
||||
description: 使用中文进行功能请求
|
||||
labels: ['feature request / 功能请求']
|
||||
body:
|
||||
- type: textarea
|
||||
id: describe
|
||||
attributes:
|
||||
label: 你的功能请求是否与问题有关?
|
||||
description: 简要描述相关的问题
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: 解决方案
|
||||
description: 描述你想要的解决方案
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: 其他内容
|
||||
description: 关于该功能请求的任何其他背景或屏幕截图。
|
||||
validations:
|
||||
required: false
|
26
.github/ISSUE_TEMPLATE/feature_request_en.yaml
vendored
Normal file
26
.github/ISSUE_TEMPLATE/feature_request_en.yaml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
name: Feature request
|
||||
description: Suggest an idea for this project
|
||||
labels: ['feature request / 功能请求']
|
||||
body:
|
||||
- type: textarea
|
||||
id: describe
|
||||
attributes:
|
||||
label: Is your feature request related to a problem?
|
||||
description: A clear and concise description of what the problem is
|
||||
placeholder: Ex. I'm always frustrated when ...
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Describe the solution you'd like
|
||||
description: A clear and concise description of what you want to happen
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context or screenshots about the feature request here.
|
||||
validations:
|
||||
required: false
|
@ -1,6 +1,7 @@
|
||||
import os
|
||||
import re
|
||||
import typing as t
|
||||
from collections import defaultdict
|
||||
from functools import cached_property
|
||||
|
||||
from module.base.code_generator import CodeGenerator
|
||||
@ -232,6 +233,80 @@ class KeywordExtract:
|
||||
)
|
||||
self.load_keywords(keywords_id, lang)
|
||||
|
||||
def generate_shadow_with_characters(self):
|
||||
# Damage type -> damage hash
|
||||
damage_info = dict()
|
||||
for type_name, data in read_file(os.path.join(
|
||||
TextMap.DATA_FOLDER, 'ExcelOutput',
|
||||
'DamageType.json'
|
||||
)).items():
|
||||
damage_info[type_name] = deep_get(data, 'DamageTypeName.Hash')
|
||||
# Character id -> character hash & damage type
|
||||
character_info = dict()
|
||||
for data in read_file(os.path.join(
|
||||
TextMap.DATA_FOLDER, 'ExcelOutput',
|
||||
'AvatarConfig.json'
|
||||
)).values():
|
||||
name_hash = deep_get(data, 'AvatarName.Hash')
|
||||
damage_type = deep_get(data, 'DamageType')
|
||||
character_info[data['AvatarID']] = (
|
||||
name_hash, damage_info[damage_type])
|
||||
# Item id -> character id
|
||||
promotion_info = defaultdict(list)
|
||||
for data in read_file(os.path.join(
|
||||
TextMap.DATA_FOLDER, 'ExcelOutput',
|
||||
'AvatarPromotionConfig.json'
|
||||
)).values():
|
||||
character_id = deep_get(data, '0.AvatarID')
|
||||
item_id = deep_get(data, '2.PromotionCostList')[-1]['ItemID']
|
||||
promotion_info[item_id].append(character_info[character_id])
|
||||
# Shadow hash -> item id
|
||||
shadow_info = dict()
|
||||
for data in read_file(os.path.join(
|
||||
TextMap.DATA_FOLDER, 'ExcelOutput',
|
||||
'MappingInfo.json'
|
||||
)).values():
|
||||
farm_type = deep_get(data, '0.FarmType')
|
||||
if farm_type != 'ELEMENT':
|
||||
continue
|
||||
shadow_hash = deep_get(data, '0.Name.Hash')
|
||||
item_id = deep_get(data, '5.DisplayItemList')[-1]['ItemID']
|
||||
shadow_info[shadow_hash] = promotion_info[item_id]
|
||||
prefix_dict = {
|
||||
'cn': '角色晋阶材料:',
|
||||
'cht': '角色晉階材料:',
|
||||
'jp': 'キャラクター昇格素材:',
|
||||
'en': 'Ascension: ',
|
||||
'es': 'Ascension: '
|
||||
}
|
||||
keyword_class = 'DungeonDetailed'
|
||||
output_file = './tasks/dungeon/keywords/dungeon_detailed.py'
|
||||
gen = CodeGenerator()
|
||||
gen.Import(f"""
|
||||
from .classes import {keyword_class}
|
||||
""")
|
||||
gen.CommentAutoGenerage('dev_tools.keyword_extract')
|
||||
for index, (keyword, characters) in enumerate(shadow_info.items()):
|
||||
_, name = self.find_keyword(keyword, lang='en')
|
||||
name = text_to_variable(name).replace('Shape_of_', '')
|
||||
with gen.Object(key=name, object_class=keyword_class):
|
||||
gen.ObjectAttr(key='id', value=index + 1)
|
||||
gen.ObjectAttr(key='name', value=name)
|
||||
for lang in UI_LANGUAGES:
|
||||
character_names = ' / '.join([
|
||||
self.find_keyword(c[0], lang)[1]
|
||||
for c in characters
|
||||
])
|
||||
damage_type = self.find_keyword(characters[0][1], lang)[1]
|
||||
if lang in {'en', 'es'}:
|
||||
value = f'{prefix_dict[lang]}{damage_type} ({character_names})'
|
||||
else:
|
||||
value = f'{prefix_dict[lang]}{damage_type}({character_names})'
|
||||
gen.ObjectAttr(key=lang, value=value)
|
||||
print(f'Write {output_file}')
|
||||
gen.write(output_file)
|
||||
self.clear_keywords()
|
||||
|
||||
def generate_forgotten_hall_stages(self):
|
||||
keyword_class = "ForgottenHallStage"
|
||||
output_file = './tasks/forgotten_hall/keywords/stage.py'
|
||||
@ -372,6 +447,7 @@ class KeywordExtract:
|
||||
text_convert=dungeon_name)
|
||||
self.load_keywords(['传送', '追踪'])
|
||||
self.write_keywords(keyword_class='DungeonEntrance', output_file='./tasks/dungeon/keywords/dungeon_entrance.py')
|
||||
self.generate_shadow_with_characters()
|
||||
self.load_keywords(['奖励', '任务', ])
|
||||
self.write_keywords(keyword_class='BattlePassTab', output_file='./tasks/battle_pass/keywords/tab.py')
|
||||
self.load_keywords(['本日任务', '本周任务', '本期任务'])
|
||||
|
@ -354,16 +354,20 @@ class ConfigGenerator:
|
||||
# prefix = '国服' if prefix == 'CN' else prefix
|
||||
# deep_set(new, keys=path, value=f'[{prefix}] {_list[index]}')
|
||||
|
||||
ingame_lang = gui_lang_to_ingame_lang(lang)
|
||||
dailies = deep_get(self.argument, keys='Dungeon.Name.option')
|
||||
# Dungeon names
|
||||
from tasks.dungeon.keywords import DungeonList
|
||||
from tasks.dungeon.keywords import DungeonList, DungeonDetailed
|
||||
if lang not in ['zh-CN', 'zh-TW', 'en-US', 'es-ES']:
|
||||
ingame_lang = gui_lang_to_ingame_lang(lang)
|
||||
dailies = deep_get(self.argument, keys='Dungeon.Name.option')
|
||||
for dungeon in DungeonList.instances.values():
|
||||
if dungeon.name in dailies:
|
||||
value = dungeon.__getattribute__(ingame_lang)
|
||||
deep_set(new, keys=['Dungeon', 'Name', dungeon.name], value=value)
|
||||
|
||||
# Stagnant shadows with character names
|
||||
for dungeon in DungeonDetailed.instances.values():
|
||||
if dungeon.name in dailies:
|
||||
value = dungeon.__getattribute__(ingame_lang)
|
||||
deep_set(new, keys=['Dungeon', 'Name', dungeon.name], value=value)
|
||||
# Copy dungeon i18n to double events
|
||||
def update_dungeon_names(keys):
|
||||
for dungeon in deep_get(self.argument, keys=f'{keys}.option', default=[]):
|
||||
@ -380,7 +384,6 @@ class ConfigGenerator:
|
||||
|
||||
# Character names
|
||||
from tasks.character.keywords import CharacterList
|
||||
ingame_lang = gui_lang_to_ingame_lang(lang)
|
||||
characters = deep_get(self.argument, keys='DungeonSupport.Character.option')
|
||||
for character in CharacterList.instances.values():
|
||||
if character.name in characters:
|
||||
|
@ -221,18 +221,18 @@
|
||||
"Calyx_Crimson_Erudition": "Trace: Erudition (Bud of Erudition)",
|
||||
"Calyx_Crimson_Harmony": "Trace: Harmony (Bud of Harmony)",
|
||||
"Calyx_Crimson_Nihility": "Trace: Nihility (Bud of Nihility)",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Shape of Quanta)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Wind (Shape of Gust)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Lighting (Shape of Fulmination)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fire (Shape of Blaze)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Physical (Shape of Spike)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Ice (Shape of Rime)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Shape of Mirage)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Ice (Shape of Icicle)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Lighting (Shape of Doom)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Shape of Puppetry)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Shape of Abomination)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Wind (Shape of Celestial)",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Silver Wolf / Seele / Qingque)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Wind (Dan Heng / Bronya / Sampo)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fire (Himeko / Asta / Hook)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Physical (Natasha / Clara / Luka / Sushang)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Ice (March 7th / Herta / Gepard / Pela)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Welt / Luocha / Yukong)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Ice (Yanqing)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Lightning (Kafka / Jing Yuan)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Dan Heng • Imbibitor Lunae)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Lynx / Fu Xuan)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Wind (Blade)",
|
||||
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "Relics: Ice Set & Wind Set (Path of Gelid Wind)",
|
||||
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "Relics: Physical Set & Break Effect Set (Path of Jabbing Punch)",
|
||||
"Cavern_of_Corrosion_Path_of_Drifting": "Relics: Healing Set & Musketeer Set (Path of Drifting)",
|
||||
@ -308,18 +308,18 @@
|
||||
"name": "Clear Stagnant Shadow 1 times",
|
||||
"help": "",
|
||||
"do_not_achieve": "Don't Do This Quest",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Shape of Quanta)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Wind (Shape of Gust)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Lighting (Shape of Fulmination)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fire (Shape of Blaze)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Physical (Shape of Spike)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Ice (Shape of Rime)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Shape of Mirage)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Ice (Shape of Icicle)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Lighting (Shape of Doom)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Shape of Puppetry)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Shape of Abomination)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Wind (Shape of Celestial)"
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Silver Wolf / Seele / Qingque)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Wind (Dan Heng / Bronya / Sampo)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fire (Himeko / Asta / Hook)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Physical (Natasha / Clara / Luka / Sushang)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Ice (March 7th / Herta / Gepard / Pela)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Welt / Luocha / Yukong)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Ice (Yanqing)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Lightning (Kafka / Jing Yuan)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Dan Heng • Imbibitor Lunae)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Lynx / Fu Xuan)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Wind (Blade)"
|
||||
},
|
||||
"CavernOfCorrosion": {
|
||||
"name": "Clear Cavern of Corrosion 1 times",
|
||||
|
@ -221,18 +221,18 @@
|
||||
"Calyx_Crimson_Erudition": "Rastros: Erudición (Flor de la Erudición)",
|
||||
"Calyx_Crimson_Harmony": "Rastros: Armonía (Flor de la Armonía)",
|
||||
"Calyx_Crimson_Nihility": "Rastros: Nihilidad (Flor de la Nihilidad)",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Forma del cuanto)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Viento (Forma del aire)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Trueno (Forma del trueno)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Forma de las llamas)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Físico (Forma afilada)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Hielo (Forma de la escarcha)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Forma del espejismo)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Forma del témpano)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Trueno (Forma de la perdición)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Forma de las marionetas)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Forma de la abominación)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Viento (Forma de lo celestial)",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Silver Wolf / Seele / Qingque)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Viento (Dan Heng / Bronya / Sampo)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Himeko / Asta / Hook)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Físico (Natasha / Clara / Luka / Sushang)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Welt / Luocha / Yukong)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Yanqing)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Rayo (Kafka / Jing Yuan)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Dan Heng - Imbibitor Lunae)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Lynx / Fu Xuan)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Viento (Blade)",
|
||||
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "Artefactos: Hielo y Viento (Senda del viento gélido)",
|
||||
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "Artefactos: Físico y Efecto de Ruptura (Senda de los puños rápidos)",
|
||||
"Cavern_of_Corrosion_Path_of_Drifting": "Artefactos: Curación y Pistolera de la espiga silvestre (Senda de la deriva)",
|
||||
@ -308,18 +308,18 @@
|
||||
"name": "Completar Sombra paralizada 1 vez",
|
||||
"help": "",
|
||||
"do_not_achieve": "No hacer esta misión",
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Forma del cuanto)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Viento (Forma del aire)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Trueno (Forma del trueno)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Forma de las llamas)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Físico (Forma afilada)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Hielo (Forma de la escarcha)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Forma del espejismo)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Forma del témpano)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Trueno (Forma de la perdición)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Forma de las marionetas)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Forma de la abominación)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Viento (Forma de lo celestial)"
|
||||
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Silver Wolf / Seele / Qingque)",
|
||||
"Stagnant_Shadow_Gust": "Ascension: Viento (Dan Heng / Bronya / Sampo)",
|
||||
"Stagnant_Shadow_Fulmination": "Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)",
|
||||
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Himeko / Asta / Hook)",
|
||||
"Stagnant_Shadow_Spike": "Ascension: Físico (Natasha / Clara / Luka / Sushang)",
|
||||
"Stagnant_Shadow_Rime": "Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)",
|
||||
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Welt / Luocha / Yukong)",
|
||||
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Yanqing)",
|
||||
"Stagnant_Shadow_Doom": "Ascension: Rayo (Kafka / Jing Yuan)",
|
||||
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Dan Heng - Imbibitor Lunae)",
|
||||
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Lynx / Fu Xuan)",
|
||||
"Stagnant_Shadow_Celestial": "Ascension: Viento (Blade)"
|
||||
},
|
||||
"CavernOfCorrosion": {
|
||||
"name": "Completar Caverna de la corrosión 1 vez",
|
||||
|
@ -221,18 +221,18 @@
|
||||
"Calyx_Crimson_Erudition": "疑似花萼(赤)・知恵の蕾",
|
||||
"Calyx_Crimson_Harmony": "疑似花萼(赤)・調和の蕾",
|
||||
"Calyx_Crimson_Nihility": "疑似花萼(赤)・虚無の蕾",
|
||||
"Stagnant_Shadow_Quanta": "凝結虚影・虚海の形",
|
||||
"Stagnant_Shadow_Gust": "凝結虚影・薫風の形",
|
||||
"Stagnant_Shadow_Fulmination": "凝結虚影・鳴雷の形",
|
||||
"Stagnant_Shadow_Blaze": "凝結虚影・炎華の形",
|
||||
"Stagnant_Shadow_Spike": "凝結虚影・切先の形",
|
||||
"Stagnant_Shadow_Rime": "凝結虚影・霜晶の形",
|
||||
"Stagnant_Shadow_Mirage": "凝結虚影・幻光の形",
|
||||
"Stagnant_Shadow_Icicle": "凝結虚影・氷柱の形",
|
||||
"Stagnant_Shadow_Doom": "凝結虚影・震厄の形",
|
||||
"Stagnant_Shadow_Puppetry": "凝結虚影・傀儡の形",
|
||||
"Stagnant_Shadow_Abomination": "凝結虚影・厄獣の形",
|
||||
"Stagnant_Shadow_Celestial": "凝結虚影・天人の形",
|
||||
"Stagnant_Shadow_Quanta": "キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)",
|
||||
"Stagnant_Shadow_Fulmination": "キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "キャラクター昇格素材:炎(姫子 / アスター / フック)",
|
||||
"Stagnant_Shadow_Spike": "キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)",
|
||||
"Stagnant_Shadow_Mirage": "キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)",
|
||||
"Stagnant_Shadow_Icicle": "キャラクター昇格素材:氷(彦卿)",
|
||||
"Stagnant_Shadow_Doom": "キャラクター昇格素材:雷(カフカ / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "キャラクター昇格素材:虚数(丹恒・飲月)",
|
||||
"Stagnant_Shadow_Abomination": "キャラクター昇格素材:量子(リンクス / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "キャラクター昇格素材:風(刃)",
|
||||
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "侵蝕トンネル・霜風の路",
|
||||
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "侵蝕トンネル・迅拳の路",
|
||||
"Cavern_of_Corrosion_Path_of_Drifting": "侵蝕トンネル・漂泊の路",
|
||||
@ -308,18 +308,18 @@
|
||||
"name": "DungeonDaily.StagnantShadow.name",
|
||||
"help": "DungeonDaily.StagnantShadow.help",
|
||||
"do_not_achieve": "do_not_achieve",
|
||||
"Stagnant_Shadow_Quanta": "凝結虚影・虚海の形",
|
||||
"Stagnant_Shadow_Gust": "凝結虚影・薫風の形",
|
||||
"Stagnant_Shadow_Fulmination": "凝結虚影・鳴雷の形",
|
||||
"Stagnant_Shadow_Blaze": "凝結虚影・炎華の形",
|
||||
"Stagnant_Shadow_Spike": "凝結虚影・切先の形",
|
||||
"Stagnant_Shadow_Rime": "凝結虚影・霜晶の形",
|
||||
"Stagnant_Shadow_Mirage": "凝結虚影・幻光の形",
|
||||
"Stagnant_Shadow_Icicle": "凝結虚影・氷柱の形",
|
||||
"Stagnant_Shadow_Doom": "凝結虚影・震厄の形",
|
||||
"Stagnant_Shadow_Puppetry": "凝結虚影・傀儡の形",
|
||||
"Stagnant_Shadow_Abomination": "凝結虚影・厄獣の形",
|
||||
"Stagnant_Shadow_Celestial": "凝結虚影・天人の形"
|
||||
"Stagnant_Shadow_Quanta": "キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)",
|
||||
"Stagnant_Shadow_Fulmination": "キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "キャラクター昇格素材:炎(姫子 / アスター / フック)",
|
||||
"Stagnant_Shadow_Spike": "キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)",
|
||||
"Stagnant_Shadow_Mirage": "キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)",
|
||||
"Stagnant_Shadow_Icicle": "キャラクター昇格素材:氷(彦卿)",
|
||||
"Stagnant_Shadow_Doom": "キャラクター昇格素材:雷(カフカ / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "キャラクター昇格素材:虚数(丹恒・飲月)",
|
||||
"Stagnant_Shadow_Abomination": "キャラクター昇格素材:量子(リンクス / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "キャラクター昇格素材:風(刃)"
|
||||
},
|
||||
"CavernOfCorrosion": {
|
||||
"name": "DungeonDaily.CavernOfCorrosion.name",
|
||||
|
@ -221,18 +221,18 @@
|
||||
"Calyx_Crimson_Erudition": "行迹材料:智识(智识之蕾•拟造花萼赤)",
|
||||
"Calyx_Crimson_Harmony": "行迹材料:同谐(同谐之蕾•拟造花萼赤)",
|
||||
"Calyx_Crimson_Nihility": "行迹材料:虚无(虚无之蕾•拟造花萼赤)",
|
||||
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(空海之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Gust": "角色晋阶材料:风(巽风之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(鸣雷之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(炎华之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(锋芒之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(霜晶之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(幻光之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(冰棱之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(震厄之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(偃偶之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(孽兽之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(天人之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(银狼 / 希儿 / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(姬子 / 艾丝妲 / 虎克)",
|
||||
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉)",
|
||||
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空)",
|
||||
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(彦卿)",
|
||||
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(卡芙卡 / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(丹恒•饮月)",
|
||||
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(玲可 / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(刃)",
|
||||
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "遗器:冰套+风套(霜风之径•侵蚀隧洞)",
|
||||
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遗器:物理套+击破套(迅拳之径•侵蚀隧洞)",
|
||||
"Cavern_of_Corrosion_Path_of_Drifting": "遗器:治疗套+快枪手(漂泊之径•侵蚀隧洞)",
|
||||
@ -308,18 +308,18 @@
|
||||
"name": "完成1次凝滞虚影",
|
||||
"help": "",
|
||||
"do_not_achieve": "不完成这个任务",
|
||||
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(空海之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Gust": "角色晋阶材料:风(巽风之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(鸣雷之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(炎华之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(锋芒之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(霜晶之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(幻光之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(冰棱之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(震厄之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(偃偶之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(孽兽之形•凝滞虚影)",
|
||||
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(天人之形•凝滞虚影)"
|
||||
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(银狼 / 希儿 / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(姬子 / 艾丝妲 / 虎克)",
|
||||
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉)",
|
||||
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空)",
|
||||
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(彦卿)",
|
||||
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(卡芙卡 / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(丹恒•饮月)",
|
||||
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(玲可 / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(刃)"
|
||||
},
|
||||
"CavernOfCorrosion": {
|
||||
"name": "完成1次侵蚀隧洞",
|
||||
|
@ -221,18 +221,18 @@
|
||||
"Calyx_Crimson_Erudition": "行跡材料:智識(智識之蕾•擬造花萼赤)",
|
||||
"Calyx_Crimson_Harmony": "行跡材料:同諧(同諧之蕾•擬造花萼赤)",
|
||||
"Calyx_Crimson_Nihility": "行跡材料:虛無(虛無之蕾•擬造花萼赤)",
|
||||
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(空海之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Gust": "角色晉階材料:風(巽風之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(鳴雷之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Blaze": "角色晉階材料:火(炎華之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Spike": "角色晉階材料:物理(鋒芒之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Rime": "角色晉階材料:冰(霜晶之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(幻光之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(冰稜之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Doom": "角色晉階材料:雷(震厄之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(偃偶之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(孽獸之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Celestial": "角色晉階材料:風(天人之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(銀狼 / 希兒 / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "角色晉階材料:火(姬子 / 艾絲妲 / 虎克)",
|
||||
"Stagnant_Shadow_Spike": "角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉)",
|
||||
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空)",
|
||||
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(彥卿)",
|
||||
"Stagnant_Shadow_Doom": "角色晉階材料:雷(卡芙卡 / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(丹恆•飲月)",
|
||||
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(玲可 / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "角色晉階材料:風(刃)",
|
||||
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "遺器:冰套+風套(霜風之徑•侵蝕隧洞)",
|
||||
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遺器:物理套+擊破套(迅拳之徑•侵蝕隧洞)",
|
||||
"Cavern_of_Corrosion_Path_of_Drifting": "遺器:治療套+快槍手(漂泊之徑•侵蝕隧洞)",
|
||||
@ -308,18 +308,18 @@
|
||||
"name": "完成1次凝滯虛影",
|
||||
"help": "",
|
||||
"do_not_achieve": "不完成這個任務",
|
||||
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(空海之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Gust": "角色晉階材料:風(巽風之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(鳴雷之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Blaze": "角色晉階材料:火(炎華之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Spike": "角色晉階材料:物理(鋒芒之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Rime": "角色晉階材料:冰(霜晶之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(幻光之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(冰稜之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Doom": "角色晉階材料:雷(震厄之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(偃偶之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(孽獸之形•凝滯虛影)",
|
||||
"Stagnant_Shadow_Celestial": "角色晉階材料:風(天人之形•凝滯虛影)"
|
||||
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(銀狼 / 希兒 / 青雀)",
|
||||
"Stagnant_Shadow_Gust": "角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博)",
|
||||
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露)",
|
||||
"Stagnant_Shadow_Blaze": "角色晉階材料:火(姬子 / 艾絲妲 / 虎克)",
|
||||
"Stagnant_Shadow_Spike": "角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳)",
|
||||
"Stagnant_Shadow_Rime": "角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉)",
|
||||
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空)",
|
||||
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(彥卿)",
|
||||
"Stagnant_Shadow_Doom": "角色晉階材料:雷(卡芙卡 / 景元)",
|
||||
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(丹恆•飲月)",
|
||||
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(玲可 / 符玄)",
|
||||
"Stagnant_Shadow_Celestial": "角色晉階材料:風(刃)"
|
||||
},
|
||||
"CavernOfCorrosion": {
|
||||
"name": "完成1次侵蝕隧洞",
|
||||
|
@ -312,14 +312,15 @@ class BattlePassUI(UI):
|
||||
if self.appear(MAIN_GOTO_BATTLE_PASS, similarity=0.75):
|
||||
return True
|
||||
else:
|
||||
logger.info('No battle pass entrance, probably a gap between two periods')
|
||||
continue
|
||||
|
||||
logger.info('No battle pass entrance, probably a gap between two periods')
|
||||
return False
|
||||
|
||||
def run(self):
|
||||
self.ui_ensure(page_main)
|
||||
if not self.has_battle_pass_entrance():
|
||||
self.config.stored.BattlePassTodayQuest.set(0)
|
||||
self.config.task_delay(server_update=True)
|
||||
self.config.task_stop()
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
import tasks.dungeon.keywords.dungeon as KEYWORDS_DUNGEON_LIST
|
||||
import tasks.dungeon.keywords.dungeon_detailed as KEYWORDS_DUNGEON_DETAILED
|
||||
import tasks.dungeon.keywords.dungeon_entrance as KEYWORDS_DUNGEON_ENTRANCE
|
||||
import tasks.dungeon.keywords.nav as KEYWORDS_DUNGEON_NAV
|
||||
import tasks.dungeon.keywords.tab as KEYWORDS_DUNGEON_TAB
|
||||
from tasks.dungeon.keywords.classes import DungeonList, DungeonNav, DungeonTab
|
||||
from tasks.dungeon.keywords.classes import (DungeonDetailed, DungeonList,
|
||||
DungeonNav, DungeonTab)
|
||||
|
@ -92,3 +92,8 @@ class DungeonList(Keyword):
|
||||
@dataclass(repr=False)
|
||||
class DungeonEntrance(Keyword):
|
||||
instances: ClassVar = {}
|
||||
|
||||
|
||||
@dataclass(repr=False)
|
||||
class DungeonDetailed(Keyword):
|
||||
instances: ClassVar = {}
|
||||
|
113
tasks/dungeon/keywords/dungeon_detailed.py
Normal file
113
tasks/dungeon/keywords/dungeon_detailed.py
Normal file
@ -0,0 +1,113 @@
|
||||
from .classes import DungeonDetailed
|
||||
|
||||
# This file was auto-generated, do not modify it manually. To generate:
|
||||
# ``` python -m dev_tools.keyword_extract ```
|
||||
|
||||
Stagnant_Shadow_Quanta = DungeonDetailed(
|
||||
id=1,
|
||||
name='Stagnant_Shadow_Quanta',
|
||||
cn='角色晋阶材料:量子(银狼 / 希儿 / 青雀)',
|
||||
cht='角色晉階材料:量子(銀狼 / 希兒 / 青雀)',
|
||||
en='Ascension: Quantum (Silver Wolf / Seele / Qingque)',
|
||||
jp='キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)',
|
||||
es='Ascension: Cuántico (Silver Wolf / Seele / Qingque)',
|
||||
)
|
||||
Stagnant_Shadow_Gust = DungeonDetailed(
|
||||
id=2,
|
||||
name='Stagnant_Shadow_Gust',
|
||||
cn='角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博)',
|
||||
cht='角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博)',
|
||||
en='Ascension: Wind (Dan Heng / Bronya / Sampo)',
|
||||
jp='キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)',
|
||||
es='Ascension: Viento (Dan Heng / Bronya / Sampo)',
|
||||
)
|
||||
Stagnant_Shadow_Fulmination = DungeonDetailed(
|
||||
id=3,
|
||||
name='Stagnant_Shadow_Fulmination',
|
||||
cn='角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露)',
|
||||
cht='角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露)',
|
||||
en='Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)',
|
||||
jp='キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)',
|
||||
es='Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)',
|
||||
)
|
||||
Stagnant_Shadow_Blaze = DungeonDetailed(
|
||||
id=4,
|
||||
name='Stagnant_Shadow_Blaze',
|
||||
cn='角色晋阶材料:火(姬子 / 艾丝妲 / 虎克)',
|
||||
cht='角色晉階材料:火(姬子 / 艾絲妲 / 虎克)',
|
||||
en='Ascension: Fire (Himeko / Asta / Hook)',
|
||||
jp='キャラクター昇格素材:炎(姫子 / アスター / フック)',
|
||||
es='Ascension: Fuego (Himeko / Asta / Hook)',
|
||||
)
|
||||
Stagnant_Shadow_Spike = DungeonDetailed(
|
||||
id=5,
|
||||
name='Stagnant_Shadow_Spike',
|
||||
cn='角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳)',
|
||||
cht='角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳)',
|
||||
en='Ascension: Physical (Natasha / Clara / Luka / Sushang)',
|
||||
jp='キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)',
|
||||
es='Ascension: Físico (Natasha / Clara / Luka / Sushang)',
|
||||
)
|
||||
Stagnant_Shadow_Rime = DungeonDetailed(
|
||||
id=6,
|
||||
name='Stagnant_Shadow_Rime',
|
||||
cn='角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉)',
|
||||
cht='角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉)',
|
||||
en='Ascension: Ice (March 7th / Herta / Gepard / Pela)',
|
||||
jp='キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)',
|
||||
es='Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)',
|
||||
)
|
||||
Stagnant_Shadow_Mirage = DungeonDetailed(
|
||||
id=7,
|
||||
name='Stagnant_Shadow_Mirage',
|
||||
cn='角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空)',
|
||||
cht='角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空)',
|
||||
en='Ascension: Imaginary (Welt / Luocha / Yukong)',
|
||||
jp='キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)',
|
||||
es='Ascension: Imaginario (Welt / Luocha / Yukong)',
|
||||
)
|
||||
Stagnant_Shadow_Icicle = DungeonDetailed(
|
||||
id=8,
|
||||
name='Stagnant_Shadow_Icicle',
|
||||
cn='角色晋阶材料:冰(彦卿)',
|
||||
cht='角色晉階材料:冰(彥卿)',
|
||||
en='Ascension: Ice (Yanqing)',
|
||||
jp='キャラクター昇格素材:氷(彦卿)',
|
||||
es='Ascension: Hielo (Yanqing)',
|
||||
)
|
||||
Stagnant_Shadow_Doom = DungeonDetailed(
|
||||
id=9,
|
||||
name='Stagnant_Shadow_Doom',
|
||||
cn='角色晋阶材料:雷(卡芙卡 / 景元)',
|
||||
cht='角色晉階材料:雷(卡芙卡 / 景元)',
|
||||
en='Ascension: Lightning (Kafka / Jing Yuan)',
|
||||
jp='キャラクター昇格素材:雷(カフカ / 景元)',
|
||||
es='Ascension: Rayo (Kafka / Jing Yuan)',
|
||||
)
|
||||
Stagnant_Shadow_Puppetry = DungeonDetailed(
|
||||
id=10,
|
||||
name='Stagnant_Shadow_Puppetry',
|
||||
cn='角色晋阶材料:虚数(丹恒•饮月)',
|
||||
cht='角色晉階材料:虛數(丹恆•飲月)',
|
||||
en='Ascension: Imaginary (Dan Heng • Imbibitor Lunae)',
|
||||
jp='キャラクター昇格素材:虚数(丹恒・飲月)',
|
||||
es='Ascension: Imaginario (Dan Heng - Imbibitor Lunae)',
|
||||
)
|
||||
Stagnant_Shadow_Abomination = DungeonDetailed(
|
||||
id=11,
|
||||
name='Stagnant_Shadow_Abomination',
|
||||
cn='角色晋阶材料:量子(玲可 / 符玄)',
|
||||
cht='角色晉階材料:量子(玲可 / 符玄)',
|
||||
en='Ascension: Quantum (Lynx / Fu Xuan)',
|
||||
jp='キャラクター昇格素材:量子(リンクス / 符玄)',
|
||||
es='Ascension: Cuántico (Lynx / Fu Xuan)',
|
||||
)
|
||||
Stagnant_Shadow_Celestial = DungeonDetailed(
|
||||
id=12,
|
||||
name='Stagnant_Shadow_Celestial',
|
||||
cn='角色晋阶材料:风(刃)',
|
||||
cht='角色晉階材料:風(刃)',
|
||||
en='Ascension: Wind (Blade)',
|
||||
jp='キャラクター昇格素材:風(刃)',
|
||||
es='Ascension: Viento (Blade)',
|
||||
)
|
@ -11,7 +11,43 @@ class RelicsUI(ItemUI):
|
||||
def _is_in_salvage(self) -> bool:
|
||||
return self.appear(ORDER_ASCENDING) or self.appear(ORDER_DESCENDING)
|
||||
|
||||
def salvage_exit(self, skip_first_screenshot=True):
|
||||
"""
|
||||
Pages:
|
||||
in: rewards claimed
|
||||
or _is_in_salvage()
|
||||
out: GOTO_SALVAGE
|
||||
"""
|
||||
interval = Timer(1)
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
if self.appear(GOTO_SALVAGE):
|
||||
logger.info("Salvage page exited")
|
||||
break
|
||||
if self.handle_reward(interval=2):
|
||||
continue
|
||||
if interval.reached() and self._is_in_salvage():
|
||||
logger.info(f'_is_in_salvage -> {CLOSE}')
|
||||
self.device.click(CLOSE)
|
||||
interval.reset()
|
||||
continue
|
||||
|
||||
def salvage_relic(self, skip_first_screenshot=True) -> bool:
|
||||
"""
|
||||
Args:
|
||||
skip_first_screenshot:
|
||||
|
||||
Returns:
|
||||
bool: If success
|
||||
|
||||
Pages:
|
||||
in: Any
|
||||
out: page_item, GOTO_SALVAGE
|
||||
"""
|
||||
logger.hr('Salvage Relic', level=2)
|
||||
self.item_goto(KEYWORD_ITEM_TAB.Relics, wait_until_stable=False)
|
||||
while 1: # relic tab -> salvage
|
||||
@ -37,6 +73,7 @@ class RelicsUI(ItemUI):
|
||||
|
||||
if timeout.reached():
|
||||
logger.warning('Timeout when selecting first relic')
|
||||
self.salvage_exit()
|
||||
return False
|
||||
# The first frame entering relic page, SALVAGE is a white button as it's the default state.
|
||||
# At the second frame, SALVAGE is disabled since no items are selected.
|
||||
@ -67,22 +104,5 @@ class RelicsUI(ItemUI):
|
||||
if self.handle_popup_confirm():
|
||||
continue
|
||||
|
||||
skip_first_screenshot = True
|
||||
interval = Timer(1)
|
||||
while 1: # rewards claimed -> relic tab page
|
||||
if skip_first_screenshot:
|
||||
skip_first_screenshot = False
|
||||
else:
|
||||
self.device.screenshot()
|
||||
|
||||
if self.appear(GOTO_SALVAGE):
|
||||
logger.info("Salvage page exited")
|
||||
break
|
||||
if self.handle_reward(interval=2):
|
||||
continue
|
||||
if interval.reached() and self._is_in_salvage():
|
||||
logger.info(f'_is_in_salvage -> {CLOSE}')
|
||||
self.device.click(CLOSE)
|
||||
interval.reset()
|
||||
continue
|
||||
self.salvage_exit()
|
||||
return True
|
||||
|
Loading…
Reference in New Issue
Block a user