Merge branch 'master' into dev

This commit is contained in:
LmeSzinc 2023-10-14 18:42:55 +08:00
commit 7f6bc78ccc
22 changed files with 759 additions and 193 deletions

View 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

View 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

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -239,6 +239,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'
@ -484,6 +558,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(['本日任务', '本周任务', '本期任务'])

View File

@ -214,6 +214,7 @@
"Stagnant_Shadow_Doom",
"Stagnant_Shadow_Puppetry",
"Stagnant_Shadow_Abomination",
"Stagnant_Shadow_Scorch",
"Stagnant_Shadow_Celestial",
"Cavern_of_Corrosion_Path_of_Gelid_Wind",
"Cavern_of_Corrosion_Path_of_Jabbing_Punch",
@ -309,6 +310,7 @@
"Stagnant_Shadow_Doom",
"Stagnant_Shadow_Puppetry",
"Stagnant_Shadow_Abomination",
"Stagnant_Shadow_Scorch",
"Stagnant_Shadow_Celestial"
]
},
@ -356,6 +358,7 @@
"Himeko",
"Hook",
"JingYuan",
"Jingliu",
"Kafka",
"Luka",
"Luocha",

View File

@ -40,7 +40,7 @@ class GeneratedConfig:
Optimization_WhenTaskQueueEmpty = 'goto_main' # stay_there, goto_main, close_game
# Group `Dungeon`
Dungeon_Name = 'Calyx_Golden_Treasures' # Calyx_Golden_Memories, Calyx_Golden_Aether, Calyx_Golden_Treasures, Calyx_Crimson_Destruction, Calyx_Crimson_Preservation, Calyx_Crimson_The_Hunt, Calyx_Crimson_Abundance, 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, Cavern_of_Corrosion_Path_of_Gelid_Wind, Cavern_of_Corrosion_Path_of_Jabbing_Punch, Cavern_of_Corrosion_Path_of_Drifting, Cavern_of_Corrosion_Path_of_Providence, Cavern_of_Corrosion_Path_of_Holy_Hymn, Cavern_of_Corrosion_Path_of_Conflagration, Cavern_of_Corrosion_Path_of_Elixir_Seekers
Dungeon_Name = 'Calyx_Golden_Treasures' # Calyx_Golden_Memories, Calyx_Golden_Aether, Calyx_Golden_Treasures, Calyx_Crimson_Destruction, Calyx_Crimson_Preservation, Calyx_Crimson_The_Hunt, Calyx_Crimson_Abundance, 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_Scorch, Stagnant_Shadow_Celestial, Cavern_of_Corrosion_Path_of_Gelid_Wind, Cavern_of_Corrosion_Path_of_Jabbing_Punch, Cavern_of_Corrosion_Path_of_Drifting, Cavern_of_Corrosion_Path_of_Providence, Cavern_of_Corrosion_Path_of_Holy_Hymn, Cavern_of_Corrosion_Path_of_Conflagration, Cavern_of_Corrosion_Path_of_Elixir_Seekers
Dungeon_NameAtDoubleCalyx = 'Calyx_Golden_Treasures' # do_not_participate, Calyx_Golden_Memories, Calyx_Golden_Aether, Calyx_Golden_Treasures, Calyx_Crimson_Destruction, Calyx_Crimson_Preservation, Calyx_Crimson_The_Hunt, Calyx_Crimson_Abundance, Calyx_Crimson_Erudition, Calyx_Crimson_Harmony, Calyx_Crimson_Nihility
Dungeon_NameAtDoubleRelic = 'Cavern_of_Corrosion_Path_of_Providence' # do_not_participate, Cavern_of_Corrosion_Path_of_Gelid_Wind, Cavern_of_Corrosion_Path_of_Jabbing_Punch, Cavern_of_Corrosion_Path_of_Drifting, Cavern_of_Corrosion_Path_of_Providence, Cavern_of_Corrosion_Path_of_Holy_Hymn, Cavern_of_Corrosion_Path_of_Conflagration, Cavern_of_Corrosion_Path_of_Elixir_Seekers
Dungeon_Team = 1 # 1, 2, 3, 4, 5, 6
@ -48,12 +48,12 @@ class GeneratedConfig:
# Group `DungeonDaily`
DungeonDaily_CalyxGolden = 'Calyx_Golden_Treasures' # do_not_achieve, Calyx_Golden_Memories, Calyx_Golden_Aether, Calyx_Golden_Treasures
DungeonDaily_CalyxCrimson = 'Calyx_Crimson_Erudition' # do_not_achieve, Calyx_Crimson_Destruction, Calyx_Crimson_Preservation, Calyx_Crimson_The_Hunt, Calyx_Crimson_Abundance, Calyx_Crimson_Erudition, Calyx_Crimson_Harmony, Calyx_Crimson_Nihility
DungeonDaily_StagnantShadow = 'Stagnant_Shadow_Quanta' # 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
DungeonDaily_StagnantShadow = 'Stagnant_Shadow_Quanta' # 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_Scorch, Stagnant_Shadow_Celestial
DungeonDaily_CavernOfCorrosion = 'Cavern_of_Corrosion_Path_of_Providence' # do_not_achieve, Cavern_of_Corrosion_Path_of_Gelid_Wind, Cavern_of_Corrosion_Path_of_Jabbing_Punch, Cavern_of_Corrosion_Path_of_Drifting, Cavern_of_Corrosion_Path_of_Providence, Cavern_of_Corrosion_Path_of_Holy_Hymn, Cavern_of_Corrosion_Path_of_Conflagration, Cavern_of_Corrosion_Path_of_Elixir_Seekers
# Group `DungeonSupport`
DungeonSupport_Use = 'when_daily' # always_use, when_daily, do_not_use
DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Arlan, Asta, Bailu, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, FuXuan, Gepard, Herta, Himeko, Hook, JingYuan, Kafka, Luka, Luocha, Lynx, March7th, Natasha, Pela, Qingque, Sampo, Seele, Serval, SilverWolf, Sushang, Tingyun, TrailblazerDestruction, TrailblazerPreservation, Welt, Yanqing, Yukong
DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Arlan, Asta, Bailu, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, FuXuan, Gepard, Herta, Himeko, Hook, JingYuan, Jingliu, Kafka, Luka, Luocha, Lynx, March7th, Natasha, Pela, Qingque, Sampo, Seele, Serval, SilverWolf, Sushang, Tingyun, TrailblazerDestruction, TrailblazerPreservation, Welt, Yanqing, Yukong
# Group `DungeonStorage`
DungeonStorage_TrailblazePower = {}

View File

@ -91,7 +91,7 @@ class ConfigGenerator:
options=[dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Echo_of_War])
# Insert characters
from tasks.character.keywords import CharacterList
unsupported_characters = []
unsupported_characters = ["Guinaifen", "TopazandNumby"]
characters = [character.name for character in CharacterList.instances.values()
if character.name not in unsupported_characters]
option_add(keys='DungeonSupport.Character.option', options=characters)
@ -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:

View File

@ -221,18 +221,19 @@
"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 / Jingliu)",
"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_Scorch": "Ascension: Fire (Guinaifen / Topaz and Numby)",
"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 +309,19 @@
"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 / Jingliu)",
"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_Scorch": "Ascension: Fire (Guinaifen / Topaz and Numby)",
"Stagnant_Shadow_Celestial": "Ascension: Wind (Blade)"
},
"CavernOfCorrosion": {
"name": "Clear Cavern of Corrosion 1 times",
@ -364,6 +366,7 @@
"Himeko": "Himeko",
"Hook": "Hook",
"JingYuan": "Jing Yuan",
"Jingliu": "Jingliu",
"Kafka": "Kafka",
"Luka": "Luka",
"Luocha": "Luocha",

View File

@ -221,18 +221,19 @@
"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 / Jingliu)",
"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_Scorch": "Ascension: Fuego (Guinaifen / Topaz y Conti)",
"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 +309,19 @@
"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 / Jingliu)",
"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_Scorch": "Ascension: Fuego (Guinaifen / Topaz y Conti)",
"Stagnant_Shadow_Celestial": "Ascension: Viento (Blade)"
},
"CavernOfCorrosion": {
"name": "Completar Caverna de la corrosión 1 vez",
@ -364,6 +366,7 @@
"Himeko": "Himeko",
"Hook": "Hook",
"JingYuan": "Jing Yuan",
"Jingliu": "Jingliu",
"Kafka": "Kafka",
"Luka": "Luka",
"Luocha": "Luocha",

View File

@ -221,18 +221,19 @@
"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_Scorch": "キャラクター昇格素材:炎(桂乃芬 / トパーズ&カブ)",
"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 +309,19 @@
"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_Scorch": "キャラクター昇格素材:炎(桂乃芬 / トパーズ&カブ)",
"Stagnant_Shadow_Celestial": "キャラクター昇格素材:風(刃)"
},
"CavernOfCorrosion": {
"name": "DungeonDaily.CavernOfCorrosion.name",
@ -364,6 +366,7 @@
"Himeko": "姫子",
"Hook": "フック",
"JingYuan": "景元",
"Jingliu": "鏡流",
"Kafka": "カフカ",
"Luka": "ルカ",
"Luocha": "羅刹",

View File

@ -221,18 +221,19 @@
"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_Scorch": "角色晋阶材料:火(桂乃芬 / 托帕&账账)",
"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 +309,19 @@
"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_Scorch": "角色晋阶材料:火(桂乃芬 / 托帕&账账)",
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(刃)"
},
"CavernOfCorrosion": {
"name": "完成1次侵蚀隧洞",
@ -364,6 +366,7 @@
"Himeko": "姬子",
"Hook": "虎克",
"JingYuan": "景元",
"Jingliu": "镜流",
"Kafka": "卡芙卡",
"Luka": "卢卡",
"Luocha": "罗刹",

View File

@ -221,18 +221,19 @@
"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_Scorch": "角色晉階材料:火(桂乃芬 / 托帕&帳帳)",
"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 +309,19 @@
"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_Scorch": "角色晉階材料:火(桂乃芬 / 托帕&帳帳)",
"Stagnant_Shadow_Celestial": "角色晉階材料:風(刃)"
},
"CavernOfCorrosion": {
"name": "完成1次侵蝕隧洞",
@ -364,6 +366,7 @@
"Himeko": "姬子",
"Hook": "虎克",
"JingYuan": "景元",
"Jingliu": "鏡流",
"Kafka": "卡芙卡",
"Luka": "盧卡",
"Luocha": "羅剎",

View File

@ -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()

View File

@ -93,8 +93,17 @@ Gepard = CharacterList(
jp='ジェパード',
es='Gepard',
)
Herta = CharacterList(
Guinaifen = CharacterList(
id=11,
name='Guinaifen',
cn='桂乃芬',
cht='桂乃芬',
en='Guinaifen',
jp='桂乃芬',
es='Guinaifen',
)
Herta = CharacterList(
id=12,
name='Herta',
cn='黑塔',
cht='黑塔',
@ -103,7 +112,7 @@ Herta = CharacterList(
es='Herta',
)
Himeko = CharacterList(
id=12,
id=13,
name='Himeko',
cn='姬子',
cht='姬子',
@ -112,7 +121,7 @@ Himeko = CharacterList(
es='Himeko',
)
Hook = CharacterList(
id=13,
id=14,
name='Hook',
cn='虎克',
cht='虎克',
@ -121,7 +130,7 @@ Hook = CharacterList(
es='Hook',
)
JingYuan = CharacterList(
id=14,
id=15,
name='JingYuan',
cn='景元',
cht='景元',
@ -129,8 +138,17 @@ JingYuan = CharacterList(
jp='景元',
es='Jing Yuan',
)
Jingliu = CharacterList(
id=16,
name='Jingliu',
cn='镜流',
cht='鏡流',
en='Jingliu',
jp='鏡流',
es='Jingliu',
)
Kafka = CharacterList(
id=15,
id=17,
name='Kafka',
cn='卡芙卡',
cht='卡芙卡',
@ -139,7 +157,7 @@ Kafka = CharacterList(
es='Kafka',
)
Luka = CharacterList(
id=16,
id=18,
name='Luka',
cn='卢卡',
cht='盧卡',
@ -148,7 +166,7 @@ Luka = CharacterList(
es='Luka',
)
Luocha = CharacterList(
id=17,
id=19,
name='Luocha',
cn='罗刹',
cht='羅剎',
@ -157,7 +175,7 @@ Luocha = CharacterList(
es='Luocha',
)
Lynx = CharacterList(
id=18,
id=20,
name='Lynx',
cn='玲可',
cht='玲可',
@ -166,7 +184,7 @@ Lynx = CharacterList(
es='Lynx',
)
March7th = CharacterList(
id=19,
id=21,
name='March7th',
cn='三月七',
cht='三月七',
@ -175,7 +193,7 @@ March7th = CharacterList(
es='Siete de Marzo',
)
Natasha = CharacterList(
id=20,
id=22,
name='Natasha',
cn='娜塔莎',
cht='娜塔莎',
@ -184,7 +202,7 @@ Natasha = CharacterList(
es='Natasha',
)
Pela = CharacterList(
id=21,
id=23,
name='Pela',
cn='佩拉',
cht='佩拉',
@ -193,7 +211,7 @@ Pela = CharacterList(
es='Pela',
)
Qingque = CharacterList(
id=22,
id=24,
name='Qingque',
cn='青雀',
cht='青雀',
@ -202,7 +220,7 @@ Qingque = CharacterList(
es='Qingque',
)
Sampo = CharacterList(
id=23,
id=25,
name='Sampo',
cn='桑博',
cht='桑博',
@ -211,7 +229,7 @@ Sampo = CharacterList(
es='Sampo',
)
Seele = CharacterList(
id=24,
id=26,
name='Seele',
cn='希儿',
cht='希兒',
@ -220,7 +238,7 @@ Seele = CharacterList(
es='Seele',
)
Serval = CharacterList(
id=25,
id=27,
name='Serval',
cn='希露瓦',
cht='希露瓦',
@ -229,7 +247,7 @@ Serval = CharacterList(
es='Serval',
)
SilverWolf = CharacterList(
id=26,
id=28,
name='SilverWolf',
cn='银狼',
cht='銀狼',
@ -238,7 +256,7 @@ SilverWolf = CharacterList(
es='Silver Wolf',
)
Sushang = CharacterList(
id=27,
id=29,
name='Sushang',
cn='素裳',
cht='素裳',
@ -247,7 +265,7 @@ Sushang = CharacterList(
es='Sushang',
)
Tingyun = CharacterList(
id=28,
id=30,
name='Tingyun',
cn='停云',
cht='停雲',
@ -255,8 +273,17 @@ Tingyun = CharacterList(
jp='停雲',
es='Tingyun',
)
TopazandNumby = CharacterList(
id=31,
name='TopazandNumby',
cn='托帕&账账',
cht='托帕&帳帳',
en='Topaz and Numby',
jp='トパーズ&カブ',
es='Topaz y Conti',
)
TrailblazerDestruction = CharacterList(
id=29,
id=32,
name='TrailblazerDestruction',
cn='Trailblazer•毁灭',
cht='Trailblazer•毀滅',
@ -265,7 +292,7 @@ TrailblazerDestruction = CharacterList(
es='Trailblazer: Destrucción',
)
TrailblazerPreservation = CharacterList(
id=30,
id=33,
name='TrailblazerPreservation',
cn='Trailblazer•存护',
cht='Trailblazer•存護',
@ -274,7 +301,7 @@ TrailblazerPreservation = CharacterList(
es='Trailblazer: Conservación',
)
Welt = CharacterList(
id=31,
id=34,
name='Welt',
cn='瓦尔特',
cht='瓦爾特',
@ -283,7 +310,7 @@ Welt = CharacterList(
es='Welt',
)
Yanqing = CharacterList(
id=32,
id=35,
name='Yanqing',
cn='彦卿',
cht='彥卿',
@ -292,7 +319,7 @@ Yanqing = CharacterList(
es='Yanqing',
)
Yukong = CharacterList(
id=33,
id=36,
name='Yukong',
cn='驭空',
cht='馭空',

View File

@ -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)

View File

@ -92,3 +92,8 @@ class DungeonList(Keyword):
@dataclass(repr=False)
class DungeonEntrance(Keyword):
instances: ClassVar = {}
@dataclass(repr=False)
class DungeonDetailed(Keyword):
instances: ClassVar = {}

View File

@ -192,8 +192,17 @@ Stagnant_Shadow_Abomination = DungeonList(
jp='凝結虚影・厄獣の形',
es='Forma de la abominación',
)
Stagnant_Shadow_Celestial = DungeonList(
Stagnant_Shadow_Scorch = DungeonList(
id=22,
name='Stagnant_Shadow_Scorch',
cn='燔灼之形•凝滞虚影',
cht='燔灼之形•凝滯虛影',
en='Shape of Scorch',
jp='凝結虚影・燔灼の形',
es='Forma abrasada',
)
Stagnant_Shadow_Celestial = DungeonList(
id=23,
name='Stagnant_Shadow_Celestial',
cn='天人之形•凝滞虚影',
cht='天人之形•凝滯虛影',
@ -202,7 +211,7 @@ Stagnant_Shadow_Celestial = DungeonList(
es='Forma de lo celestial',
)
Cavern_of_Corrosion_Path_of_Gelid_Wind = DungeonList(
id=23,
id=24,
name='Cavern_of_Corrosion_Path_of_Gelid_Wind',
cn='霜风之径•侵蚀隧洞',
cht='霜風之徑•侵蝕隧洞',
@ -211,7 +220,7 @@ Cavern_of_Corrosion_Path_of_Gelid_Wind = DungeonList(
es='Senda del viento gélido',
)
Cavern_of_Corrosion_Path_of_Jabbing_Punch = DungeonList(
id=24,
id=25,
name='Cavern_of_Corrosion_Path_of_Jabbing_Punch',
cn='迅拳之径•侵蚀隧洞',
cht='迅拳之徑•侵蝕隧洞',
@ -220,7 +229,7 @@ Cavern_of_Corrosion_Path_of_Jabbing_Punch = DungeonList(
es='Senda de los puños rápidos',
)
Cavern_of_Corrosion_Path_of_Drifting = DungeonList(
id=25,
id=26,
name='Cavern_of_Corrosion_Path_of_Drifting',
cn='漂泊之径•侵蚀隧洞',
cht='漂泊之徑•侵蝕隧洞',
@ -229,7 +238,7 @@ Cavern_of_Corrosion_Path_of_Drifting = DungeonList(
es='Senda de la deriva',
)
Cavern_of_Corrosion_Path_of_Providence = DungeonList(
id=26,
id=27,
name='Cavern_of_Corrosion_Path_of_Providence',
cn='睿治之径•侵蚀隧洞',
cht='睿治之徑•侵蝕隧洞',
@ -238,7 +247,7 @@ Cavern_of_Corrosion_Path_of_Providence = DungeonList(
es='Senda de la providencia',
)
Cavern_of_Corrosion_Path_of_Holy_Hymn = DungeonList(
id=27,
id=28,
name='Cavern_of_Corrosion_Path_of_Holy_Hymn',
cn='圣颂之径•侵蚀隧洞',
cht='聖頌之徑•侵蝕隧洞',
@ -247,7 +256,7 @@ Cavern_of_Corrosion_Path_of_Holy_Hymn = DungeonList(
es='Senda del himno sagrado',
)
Cavern_of_Corrosion_Path_of_Conflagration = DungeonList(
id=28,
id=29,
name='Cavern_of_Corrosion_Path_of_Conflagration',
cn='野焰之径•侵蚀隧洞',
cht='野焰之徑•侵蝕隧洞',
@ -256,7 +265,7 @@ Cavern_of_Corrosion_Path_of_Conflagration = DungeonList(
es='Senda de la conflagración',
)
Cavern_of_Corrosion_Path_of_Elixir_Seekers = DungeonList(
id=29,
id=30,
name='Cavern_of_Corrosion_Path_of_Elixir_Seekers',
cn='药使之径•侵蚀隧洞',
cht='藥使之徑•侵蝕隧洞',
@ -265,7 +274,7 @@ Cavern_of_Corrosion_Path_of_Elixir_Seekers = DungeonList(
es='Senda de los elixires',
)
Echo_of_War_Destruction_Beginning = DungeonList(
id=30,
id=31,
name='Echo_of_War_Destruction_Beginning',
cn='毁灭的开端•历战余响',
cht='毀滅的開端•歷戰餘響',
@ -274,7 +283,7 @@ Echo_of_War_Destruction_Beginning = DungeonList(
es='El principio de la Destrucción',
)
Echo_of_War_End_of_the_Eternal_Freeze = DungeonList(
id=31,
id=32,
name='Echo_of_War_End_of_the_Eternal_Freeze',
cn='寒潮的落幕•历战余响',
cht='寒潮的落幕•歷戰餘響',
@ -283,7 +292,7 @@ Echo_of_War_End_of_the_Eternal_Freeze = DungeonList(
es='El fin del Hielo Eterno',
)
Echo_of_War_Divine_Seed = DungeonList(
id=32,
id=33,
name='Echo_of_War_Divine_Seed',
cn='不死的神实•历战余响',
cht='不死的神實•歷戰餘響',
@ -292,7 +301,7 @@ Echo_of_War_Divine_Seed = DungeonList(
es='Semilla divina',
)
Simulated_Universe_World_1 = DungeonList(
id=33,
id=34,
name='Simulated_Universe_World_1',
cn='第一世界•模拟宇宙',
cht='第一世界•模擬宇宙',
@ -301,7 +310,7 @@ Simulated_Universe_World_1 = DungeonList(
es='Mundo 1',
)
Simulated_Universe_World_3 = DungeonList(
id=34,
id=35,
name='Simulated_Universe_World_3',
cn='第三世界•模拟宇宙',
cht='第三世界•模擬宇宙',
@ -310,7 +319,7 @@ Simulated_Universe_World_3 = DungeonList(
es='Mundo 3',
)
Simulated_Universe_World_4 = DungeonList(
id=35,
id=36,
name='Simulated_Universe_World_4',
cn='第四世界•模拟宇宙',
cht='第四世界•模擬宇宙',
@ -319,7 +328,7 @@ Simulated_Universe_World_4 = DungeonList(
es='Mundo 4',
)
Simulated_Universe_World_5 = DungeonList(
id=36,
id=37,
name='Simulated_Universe_World_5',
cn='第五世界•模拟宇宙',
cht='第五世界•模擬宇宙',
@ -328,7 +337,7 @@ Simulated_Universe_World_5 = DungeonList(
es='Mundo 5',
)
Simulated_Universe_World_6 = DungeonList(
id=37,
id=38,
name='Simulated_Universe_World_6',
cn='第六世界•模拟宇宙',
cht='第六世界•模擬宇宙',
@ -337,7 +346,7 @@ Simulated_Universe_World_6 = DungeonList(
es='Mundo 6',
)
Simulated_Universe_World_7 = DungeonList(
id=38,
id=39,
name='Simulated_Universe_World_7',
cn='第七世界•模拟宇宙',
cht='第七世界•模擬宇宙',
@ -346,7 +355,7 @@ Simulated_Universe_World_7 = DungeonList(
es='Mundo 7',
)
The_Voyage_of_Navis_Astriger = DungeonList(
id=39,
id=40,
name='The_Voyage_of_Navis_Astriger',
cn='天艟求仙迷航录',
cht='天艟求仙迷航錄',
@ -355,7 +364,7 @@ The_Voyage_of_Navis_Astriger = DungeonList(
es='El viaje de las naves astriger',
)
The_Last_Vestiges_of_Towering_Citadel = DungeonList(
id=40,
id=41,
name='The_Last_Vestiges_of_Towering_Citadel',
cn='永屹之城遗秘',
cht='永屹之城遺秘',
@ -364,7 +373,7 @@ The_Last_Vestiges_of_Towering_Citadel = DungeonList(
es='Herencia de la Ciudadela Imponente',
)
Memory_of_Chaos = DungeonList(
id=41,
id=42,
name='Memory_of_Chaos',
cn='混沌回忆',
cht='混沌回憶',

View File

@ -0,0 +1,122 @@
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 / Jingliu)',
jp='キャラクター昇格素材:氷(彦卿 / 鏡流)',
es='Ascension: Hielo (Yanqing / Jingliu)',
)
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_Scorch = DungeonDetailed(
id=12,
name='Stagnant_Shadow_Scorch',
cn='角色晋阶材料:火(桂乃芬 / 托帕&账账)',
cht='角色晉階材料:火(桂乃芬 / 托帕&帳帳)',
en='Ascension: Fire (Guinaifen / Topaz and Numby)',
jp='キャラクター昇格素材:炎(桂乃芬 / トパーズ&カブ)',
es='Ascension: Fuego (Guinaifen / Topaz y Conti)',
)
Stagnant_Shadow_Celestial = DungeonDetailed(
id=13,
name='Stagnant_Shadow_Celestial',
cn='角色晋阶材料:风(刃)',
cht='角色晉階材料:風(刃)',
en='Ascension: Wind (Blade)',
jp='キャラクター昇格素材:風(刃)',
es='Ascension: Viento (Blade)',
)

View File

@ -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

View File

@ -405,7 +405,7 @@ Punklorde_Mentality = RogueCurio(
cn='朋克洛德精神',
cht='龐克洛德精神',
en='Punklorde Mentality',
jp='パンクロード精神',
jp='パンクロード精神',
es='Mentalidad de Punklorde',
)
Beacon_Coloring_Paste = RogueCurio(
@ -615,3 +615,102 @@ Sealing_Wax_of_Propagation = RogueCurio(
jp='繁殖の封蝋',
es='Lacre de la Propagación',
)
Society_Ticket_Infinite = RogueCurio(
id=69,
name='Society_Ticket_Infinite',
cn='俱乐部券(无尽)',
cht='俱樂部券(無盡)',
en='Society Ticket (Infinite)',
jp='クラブチケット∞',
es='Boleto del Círculo (infinito)',
)
Faith_Bond_Infinite = RogueCurio(
id=70,
name='Faith_Bond_Infinite',
cn='信仰债券(无尽)',
cht='信仰債券(無盡)',
en='Faith Bond (Infinite)',
jp='信仰債券∞',
es='Bono de fe (infinito)',
)
Gold_Coin_of_Discord_Infinite = RogueCurio(
id=71,
name='Gold_Coin_of_Discord_Infinite',
cn='分裂金币(无尽)',
cht='分裂金幣(無盡)',
en='Gold Coin of Discord (Infinite)',
jp='分裂金貨∞',
es='Moneda de oro del desacuerdo (infinita)',
)
Entropic_Die_Infinite = RogueCurio(
id=72,
name='Entropic_Die_Infinite',
cn='万象无常骰(无尽)',
cht='萬象無常骰(無盡)',
en='Entropic Die (Infinite)',
jp='万象無常のサイコロ∞',
es='Dado entrópico (infinito)',
)
Obliteration_Wick_Trimmer_Infinite = RogueCurio(
id=73,
name='Obliteration_Wick_Trimmer_Infinite',
cn='湮灭烛剪(无尽)',
cht='湮滅燭剪(無盡)',
en='Obliteration Wick Trimmer (Infinite)',
jp='湮滅の芯切り∞',
es='Despabiladeras de la aniquilación (infinitas)',
)
Cosmic_Big_Lotto_Infinite = RogueCurio(
id=74,
name='Cosmic_Big_Lotto_Infinite',
cn='银河大乐透(无尽)',
cht='銀河大樂透(無盡)',
en='Cosmic Big Lotto (Infinite)',
jp='銀河ビッグロッタリー∞',
es='Gran Lotería Galáctica (infinita)',
)
Omniscient_Capsule_Infinite = RogueCurio(
id=75,
name='Omniscient_Capsule_Infinite',
cn='万识囊(无尽)',
cht='萬識囊(無盡)',
en='Omniscient Capsule (Infinite)',
jp='全知袋∞',
es='Cápsula omnisciente (infinita)',
)
Punklorde_Mentality_Infinite = RogueCurio(
id=76,
name='Punklorde_Mentality_Infinite',
cn='朋克洛德精神(无尽)',
cht='龐克洛德精神(無盡)',
en='Punklorde Mentality (Infinite)',
jp='パンクロード精神∞',
es='Mentalidad de Punklorde (infinita)',
)
Robe_of_The_Beauty_Infinite = RogueCurio(
id=77,
name='Robe_of_The_Beauty_Infinite',
cn='纯美之袍(无尽)',
cht='純美之袍(無盡)',
en='Robe of The Beauty (Infinite)',
jp='純美のローブ∞',
es='Túnica de la Belleza (infinita)',
)
Angel_type_I_O_U_Dispenser_Infinite = RogueCurio(
id=78,
name='Angel_type_I_O_U_Dispenser_Infinite',
cn='天使型谢债发行机(无尽)',
cht='天使型謝債發行機(無盡)',
en='Angel-type I.O.U. Dispenser (Infinite)',
jp='天使型謝債発行機∞',
es='Dispensador de deuda en forma de ángel (infinito)',
)
Shattered_Star_Bait_Infinite = RogueCurio(
id=79,
name='Shattered_Star_Bait_Infinite',
cn='碎星芳饵(无尽)',
cht='碎星芳餌(無盡)',
en='Shattered Star Bait (Infinite)',
jp='砕けた星の釣り餌∞',
es='Cebo de las estrellas despedazadas (infinito)',
)