Opt: Detailed shadow name in configs (#142)

This commit is contained in:
Zebartin 2023-10-09 11:36:56 +08:00 committed by GitHub
parent 8479742ddb
commit 5f00339af2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 325 additions and 126 deletions

View File

@ -1,6 +1,7 @@
import os import os
import re import re
import typing as t import typing as t
from collections import defaultdict
from functools import cached_property from functools import cached_property
from module.base.code_generator import CodeGenerator from module.base.code_generator import CodeGenerator
@ -232,6 +233,80 @@ class KeywordExtract:
) )
self.load_keywords(keywords_id, lang) 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): def generate_forgotten_hall_stages(self):
keyword_class = "ForgottenHallStage" keyword_class = "ForgottenHallStage"
output_file = './tasks/forgotten_hall/keywords/stage.py' output_file = './tasks/forgotten_hall/keywords/stage.py'
@ -372,6 +447,7 @@ class KeywordExtract:
text_convert=dungeon_name) text_convert=dungeon_name)
self.load_keywords(['传送', '追踪']) self.load_keywords(['传送', '追踪'])
self.write_keywords(keyword_class='DungeonEntrance', output_file='./tasks/dungeon/keywords/dungeon_entrance.py') self.write_keywords(keyword_class='DungeonEntrance', output_file='./tasks/dungeon/keywords/dungeon_entrance.py')
self.generate_shadow_with_characters()
self.load_keywords(['奖励', '任务', ]) self.load_keywords(['奖励', '任务', ])
self.write_keywords(keyword_class='BattlePassTab', output_file='./tasks/battle_pass/keywords/tab.py') self.write_keywords(keyword_class='BattlePassTab', output_file='./tasks/battle_pass/keywords/tab.py')
self.load_keywords(['本日任务', '本周任务', '本期任务']) self.load_keywords(['本日任务', '本周任务', '本期任务'])

View File

@ -354,16 +354,20 @@ class ConfigGenerator:
# prefix = '国服' if prefix == 'CN' else prefix # prefix = '国服' if prefix == 'CN' else prefix
# deep_set(new, keys=path, value=f'[{prefix}] {_list[index]}') # 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 # 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']: 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(): for dungeon in DungeonList.instances.values():
if dungeon.name in dailies: if dungeon.name in dailies:
value = dungeon.__getattribute__(ingame_lang) value = dungeon.__getattribute__(ingame_lang)
deep_set(new, keys=['Dungeon', 'Name', dungeon.name], value=value) 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 # Copy dungeon i18n to double events
def update_dungeon_names(keys): def update_dungeon_names(keys):
for dungeon in deep_get(self.argument, keys=f'{keys}.option', default=[]): for dungeon in deep_get(self.argument, keys=f'{keys}.option', default=[]):
@ -380,7 +384,6 @@ class ConfigGenerator:
# Character names # Character names
from tasks.character.keywords import CharacterList from tasks.character.keywords import CharacterList
ingame_lang = gui_lang_to_ingame_lang(lang)
characters = deep_get(self.argument, keys='DungeonSupport.Character.option') characters = deep_get(self.argument, keys='DungeonSupport.Character.option')
for character in CharacterList.instances.values(): for character in CharacterList.instances.values():
if character.name in characters: if character.name in characters:

View File

@ -221,18 +221,18 @@
"Calyx_Crimson_Erudition": "Trace: Erudition (Bud of Erudition)", "Calyx_Crimson_Erudition": "Trace: Erudition (Bud of Erudition)",
"Calyx_Crimson_Harmony": "Trace: Harmony (Bud of Harmony)", "Calyx_Crimson_Harmony": "Trace: Harmony (Bud of Harmony)",
"Calyx_Crimson_Nihility": "Trace: Nihility (Bud of Nihility)", "Calyx_Crimson_Nihility": "Trace: Nihility (Bud of Nihility)",
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Shape of Quanta)", "Stagnant_Shadow_Quanta": "Ascension: Quantum (Silver Wolf / Seele / Qingque)",
"Stagnant_Shadow_Gust": "Ascension: Wind (Shape of Gust)", "Stagnant_Shadow_Gust": "Ascension: Wind (Dan Heng / Bronya / Sampo)",
"Stagnant_Shadow_Fulmination": "Ascension: Lighting (Shape of Fulmination)", "Stagnant_Shadow_Fulmination": "Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)",
"Stagnant_Shadow_Blaze": "Ascension: Fire (Shape of Blaze)", "Stagnant_Shadow_Blaze": "Ascension: Fire (Himeko / Asta / Hook)",
"Stagnant_Shadow_Spike": "Ascension: Physical (Shape of Spike)", "Stagnant_Shadow_Spike": "Ascension: Physical (Natasha / Clara / Luka / Sushang)",
"Stagnant_Shadow_Rime": "Ascension: Ice (Shape of Rime)", "Stagnant_Shadow_Rime": "Ascension: Ice (March 7th / Herta / Gepard / Pela)",
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Shape of Mirage)", "Stagnant_Shadow_Mirage": "Ascension: Imaginary (Welt / Luocha / Yukong)",
"Stagnant_Shadow_Icicle": "Ascension: Ice (Shape of Icicle)", "Stagnant_Shadow_Icicle": "Ascension: Ice (Yanqing)",
"Stagnant_Shadow_Doom": "Ascension: Lighting (Shape of Doom)", "Stagnant_Shadow_Doom": "Ascension: Lightning (Kafka / Jing Yuan)",
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Shape of Puppetry)", "Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Dan Heng • Imbibitor Lunae)",
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Shape of Abomination)", "Stagnant_Shadow_Abomination": "Ascension: Quantum (Lynx / Fu Xuan)",
"Stagnant_Shadow_Celestial": "Ascension: Wind (Shape of Celestial)", "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_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_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)", "Cavern_of_Corrosion_Path_of_Drifting": "Relics: Healing Set & Musketeer Set (Path of Drifting)",
@ -308,18 +308,18 @@
"name": "Clear Stagnant Shadow 1 times", "name": "Clear Stagnant Shadow 1 times",
"help": "", "help": "",
"do_not_achieve": "Don't Do This Quest", "do_not_achieve": "Don't Do This Quest",
"Stagnant_Shadow_Quanta": "Ascension: Quantum (Shape of Quanta)", "Stagnant_Shadow_Quanta": "Ascension: Quantum (Silver Wolf / Seele / Qingque)",
"Stagnant_Shadow_Gust": "Ascension: Wind (Shape of Gust)", "Stagnant_Shadow_Gust": "Ascension: Wind (Dan Heng / Bronya / Sampo)",
"Stagnant_Shadow_Fulmination": "Ascension: Lighting (Shape of Fulmination)", "Stagnant_Shadow_Fulmination": "Ascension: Lightning (Arlan / Serval / Tingyun / Bailu)",
"Stagnant_Shadow_Blaze": "Ascension: Fire (Shape of Blaze)", "Stagnant_Shadow_Blaze": "Ascension: Fire (Himeko / Asta / Hook)",
"Stagnant_Shadow_Spike": "Ascension: Physical (Shape of Spike)", "Stagnant_Shadow_Spike": "Ascension: Physical (Natasha / Clara / Luka / Sushang)",
"Stagnant_Shadow_Rime": "Ascension: Ice (Shape of Rime)", "Stagnant_Shadow_Rime": "Ascension: Ice (March 7th / Herta / Gepard / Pela)",
"Stagnant_Shadow_Mirage": "Ascension: Imaginary (Shape of Mirage)", "Stagnant_Shadow_Mirage": "Ascension: Imaginary (Welt / Luocha / Yukong)",
"Stagnant_Shadow_Icicle": "Ascension: Ice (Shape of Icicle)", "Stagnant_Shadow_Icicle": "Ascension: Ice (Yanqing)",
"Stagnant_Shadow_Doom": "Ascension: Lighting (Shape of Doom)", "Stagnant_Shadow_Doom": "Ascension: Lightning (Kafka / Jing Yuan)",
"Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Shape of Puppetry)", "Stagnant_Shadow_Puppetry": "Ascension: Imaginary (Dan Heng • Imbibitor Lunae)",
"Stagnant_Shadow_Abomination": "Ascension: Quantum (Shape of Abomination)", "Stagnant_Shadow_Abomination": "Ascension: Quantum (Lynx / Fu Xuan)",
"Stagnant_Shadow_Celestial": "Ascension: Wind (Shape of Celestial)" "Stagnant_Shadow_Celestial": "Ascension: Wind (Blade)"
}, },
"CavernOfCorrosion": { "CavernOfCorrosion": {
"name": "Clear Cavern of Corrosion 1 times", "name": "Clear Cavern of Corrosion 1 times",

View File

@ -221,18 +221,18 @@
"Calyx_Crimson_Erudition": "Rastros: Erudición (Flor de la Erudición)", "Calyx_Crimson_Erudition": "Rastros: Erudición (Flor de la Erudición)",
"Calyx_Crimson_Harmony": "Rastros: Armonía (Flor de la Armonía)", "Calyx_Crimson_Harmony": "Rastros: Armonía (Flor de la Armonía)",
"Calyx_Crimson_Nihility": "Rastros: Nihilidad (Flor de la Nihilidad)", "Calyx_Crimson_Nihility": "Rastros: Nihilidad (Flor de la Nihilidad)",
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Forma del cuanto)", "Stagnant_Shadow_Quanta": "Ascension: Cuántico (Silver Wolf / Seele / Qingque)",
"Stagnant_Shadow_Gust": "Ascension: Viento (Forma del aire)", "Stagnant_Shadow_Gust": "Ascension: Viento (Dan Heng / Bronya / Sampo)",
"Stagnant_Shadow_Fulmination": "Ascension: Trueno (Forma del trueno)", "Stagnant_Shadow_Fulmination": "Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)",
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Forma de las llamas)", "Stagnant_Shadow_Blaze": "Ascension: Fuego (Himeko / Asta / Hook)",
"Stagnant_Shadow_Spike": "Ascension: Físico (Forma afilada)", "Stagnant_Shadow_Spike": "Ascension: Físico (Natasha / Clara / Luka / Sushang)",
"Stagnant_Shadow_Rime": "Ascension: Hielo (Forma de la escarcha)", "Stagnant_Shadow_Rime": "Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)",
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Forma del espejismo)", "Stagnant_Shadow_Mirage": "Ascension: Imaginario (Welt / Luocha / Yukong)",
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Forma del témpano)", "Stagnant_Shadow_Icicle": "Ascension: Hielo (Yanqing)",
"Stagnant_Shadow_Doom": "Ascension: Trueno (Forma de la perdición)", "Stagnant_Shadow_Doom": "Ascension: Rayo (Kafka / Jing Yuan)",
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Forma de las marionetas)", "Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Dan Heng - Imbibitor Lunae)",
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Forma de la abominación)", "Stagnant_Shadow_Abomination": "Ascension: Cuántico (Lynx / Fu Xuan)",
"Stagnant_Shadow_Celestial": "Ascension: Viento (Forma de lo celestial)", "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_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_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)", "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", "name": "Completar Sombra paralizada 1 vez",
"help": "", "help": "",
"do_not_achieve": "No hacer esta misión", "do_not_achieve": "No hacer esta misión",
"Stagnant_Shadow_Quanta": "Ascension: Cuántico (Forma del cuanto)", "Stagnant_Shadow_Quanta": "Ascension: Cuántico (Silver Wolf / Seele / Qingque)",
"Stagnant_Shadow_Gust": "Ascension: Viento (Forma del aire)", "Stagnant_Shadow_Gust": "Ascension: Viento (Dan Heng / Bronya / Sampo)",
"Stagnant_Shadow_Fulmination": "Ascension: Trueno (Forma del trueno)", "Stagnant_Shadow_Fulmination": "Ascension: Rayo (Arlan / Serval / Tingyun / Bailu)",
"Stagnant_Shadow_Blaze": "Ascension: Fuego (Forma de las llamas)", "Stagnant_Shadow_Blaze": "Ascension: Fuego (Himeko / Asta / Hook)",
"Stagnant_Shadow_Spike": "Ascension: Físico (Forma afilada)", "Stagnant_Shadow_Spike": "Ascension: Físico (Natasha / Clara / Luka / Sushang)",
"Stagnant_Shadow_Rime": "Ascension: Hielo (Forma de la escarcha)", "Stagnant_Shadow_Rime": "Ascension: Hielo (Siete de Marzo / Herta / Gepard / Pela)",
"Stagnant_Shadow_Mirage": "Ascension: Imaginario (Forma del espejismo)", "Stagnant_Shadow_Mirage": "Ascension: Imaginario (Welt / Luocha / Yukong)",
"Stagnant_Shadow_Icicle": "Ascension: Hielo (Forma del témpano)", "Stagnant_Shadow_Icicle": "Ascension: Hielo (Yanqing)",
"Stagnant_Shadow_Doom": "Ascension: Trueno (Forma de la perdición)", "Stagnant_Shadow_Doom": "Ascension: Rayo (Kafka / Jing Yuan)",
"Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Forma de las marionetas)", "Stagnant_Shadow_Puppetry": "Ascension: Imaginario (Dan Heng - Imbibitor Lunae)",
"Stagnant_Shadow_Abomination": "Ascension: Cuántico (Forma de la abominación)", "Stagnant_Shadow_Abomination": "Ascension: Cuántico (Lynx / Fu Xuan)",
"Stagnant_Shadow_Celestial": "Ascension: Viento (Forma de lo celestial)" "Stagnant_Shadow_Celestial": "Ascension: Viento (Blade)"
}, },
"CavernOfCorrosion": { "CavernOfCorrosion": {
"name": "Completar Caverna de la corrosión 1 vez", "name": "Completar Caverna de la corrosión 1 vez",

View File

@ -221,18 +221,18 @@
"Calyx_Crimson_Erudition": "疑似花萼(赤)・知恵の蕾", "Calyx_Crimson_Erudition": "疑似花萼(赤)・知恵の蕾",
"Calyx_Crimson_Harmony": "疑似花萼(赤)・調和の蕾", "Calyx_Crimson_Harmony": "疑似花萼(赤)・調和の蕾",
"Calyx_Crimson_Nihility": "疑似花萼(赤)・虚無の蕾", "Calyx_Crimson_Nihility": "疑似花萼(赤)・虚無の蕾",
"Stagnant_Shadow_Quanta": "凝結虚影・虚海の形", "Stagnant_Shadow_Quanta": "キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)",
"Stagnant_Shadow_Gust": "凝結虚影・薫風の形", "Stagnant_Shadow_Gust": "キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)",
"Stagnant_Shadow_Fulmination": "凝結虚影・鳴雷の形", "Stagnant_Shadow_Fulmination": "キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)",
"Stagnant_Shadow_Blaze": "凝結虚影・炎華の形", "Stagnant_Shadow_Blaze": "キャラクター昇格素材:炎(姫子 / アスター / フック)",
"Stagnant_Shadow_Spike": "凝結虚影・切先の形", "Stagnant_Shadow_Spike": "キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)",
"Stagnant_Shadow_Rime": "凝結虚影・霜晶の形", "Stagnant_Shadow_Rime": "キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)",
"Stagnant_Shadow_Mirage": "凝結虚影・幻光の形", "Stagnant_Shadow_Mirage": "キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)",
"Stagnant_Shadow_Icicle": "凝結虚影・氷柱の形", "Stagnant_Shadow_Icicle": "キャラクター昇格素材:氷(彦卿)",
"Stagnant_Shadow_Doom": "凝結虚影・震厄の形", "Stagnant_Shadow_Doom": "キャラクター昇格素材:雷(カフカ / 景元)",
"Stagnant_Shadow_Puppetry": "凝結虚影・傀儡の形", "Stagnant_Shadow_Puppetry": "キャラクター昇格素材:虚数(丹恒・飲月)",
"Stagnant_Shadow_Abomination": "凝結虚影・厄獣の形", "Stagnant_Shadow_Abomination": "キャラクター昇格素材:量子(リンクス / 符玄)",
"Stagnant_Shadow_Celestial": "凝結虚影・天人の形", "Stagnant_Shadow_Celestial": "キャラクター昇格素材:風(刃)",
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "侵蝕トンネル・霜風の路", "Cavern_of_Corrosion_Path_of_Gelid_Wind": "侵蝕トンネル・霜風の路",
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "侵蝕トンネル・迅拳の路", "Cavern_of_Corrosion_Path_of_Jabbing_Punch": "侵蝕トンネル・迅拳の路",
"Cavern_of_Corrosion_Path_of_Drifting": "侵蝕トンネル・漂泊の路", "Cavern_of_Corrosion_Path_of_Drifting": "侵蝕トンネル・漂泊の路",
@ -308,18 +308,18 @@
"name": "DungeonDaily.StagnantShadow.name", "name": "DungeonDaily.StagnantShadow.name",
"help": "DungeonDaily.StagnantShadow.help", "help": "DungeonDaily.StagnantShadow.help",
"do_not_achieve": "do_not_achieve", "do_not_achieve": "do_not_achieve",
"Stagnant_Shadow_Quanta": "凝結虚影・虚海の形", "Stagnant_Shadow_Quanta": "キャラクター昇格素材:量子(銀狼 / ゼーレ / 青雀)",
"Stagnant_Shadow_Gust": "凝結虚影・薫風の形", "Stagnant_Shadow_Gust": "キャラクター昇格素材:風(丹恒 / ブローニャ / サンポ)",
"Stagnant_Shadow_Fulmination": "凝結虚影・鳴雷の形", "Stagnant_Shadow_Fulmination": "キャラクター昇格素材:雷(アーラン / セーバル / 停雲 / 白露)",
"Stagnant_Shadow_Blaze": "凝結虚影・炎華の形", "Stagnant_Shadow_Blaze": "キャラクター昇格素材:炎(姫子 / アスター / フック)",
"Stagnant_Shadow_Spike": "凝結虚影・切先の形", "Stagnant_Shadow_Spike": "キャラクター昇格素材:物理(ナターシャ / クラーラ / ルカ / 素裳)",
"Stagnant_Shadow_Rime": "凝結虚影・霜晶の形", "Stagnant_Shadow_Rime": "キャラクター昇格素材:氷(三月なのか / ヘルタ / ジェパード / ペラ)",
"Stagnant_Shadow_Mirage": "凝結虚影・幻光の形", "Stagnant_Shadow_Mirage": "キャラクター昇格素材:虚数(ヴェルト / 羅刹 / 御空)",
"Stagnant_Shadow_Icicle": "凝結虚影・氷柱の形", "Stagnant_Shadow_Icicle": "キャラクター昇格素材:氷(彦卿)",
"Stagnant_Shadow_Doom": "凝結虚影・震厄の形", "Stagnant_Shadow_Doom": "キャラクター昇格素材:雷(カフカ / 景元)",
"Stagnant_Shadow_Puppetry": "凝結虚影・傀儡の形", "Stagnant_Shadow_Puppetry": "キャラクター昇格素材:虚数(丹恒・飲月)",
"Stagnant_Shadow_Abomination": "凝結虚影・厄獣の形", "Stagnant_Shadow_Abomination": "キャラクター昇格素材:量子(リンクス / 符玄)",
"Stagnant_Shadow_Celestial": "凝結虚影・天人の形" "Stagnant_Shadow_Celestial": "キャラクター昇格素材:風(刃)"
}, },
"CavernOfCorrosion": { "CavernOfCorrosion": {
"name": "DungeonDaily.CavernOfCorrosion.name", "name": "DungeonDaily.CavernOfCorrosion.name",

View File

@ -221,18 +221,18 @@
"Calyx_Crimson_Erudition": "行迹材料:智识(智识之蕾•拟造花萼赤)", "Calyx_Crimson_Erudition": "行迹材料:智识(智识之蕾•拟造花萼赤)",
"Calyx_Crimson_Harmony": "行迹材料:同谐(同谐之蕾•拟造花萼赤)", "Calyx_Crimson_Harmony": "行迹材料:同谐(同谐之蕾•拟造花萼赤)",
"Calyx_Crimson_Nihility": "行迹材料:虚无(虚无之蕾•拟造花萼赤)", "Calyx_Crimson_Nihility": "行迹材料:虚无(虚无之蕾•拟造花萼赤)",
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(空海之形•凝滞虚影", "Stagnant_Shadow_Quanta": "角色晋阶材料:量子(银狼 / 希儿 / 青雀",
"Stagnant_Shadow_Gust": "角色晋阶材料:风(巽风之形•凝滞虚影", "Stagnant_Shadow_Gust": "角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博",
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(鸣雷之形•凝滞虚影", "Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露",
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(炎华之形•凝滞虚影", "Stagnant_Shadow_Blaze": "角色晋阶材料:火(姬子 / 艾丝妲 / 虎克",
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(锋芒之形•凝滞虚影", "Stagnant_Shadow_Spike": "角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳",
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(霜晶之形•凝滞虚影", "Stagnant_Shadow_Rime": "角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉",
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(幻光之形•凝滞虚影", "Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空",
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(冰棱之形•凝滞虚影", "Stagnant_Shadow_Icicle": "角色晋阶材料:冰(彦卿",
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(震厄之形•凝滞虚影", "Stagnant_Shadow_Doom": "角色晋阶材料:雷(卡芙卡 / 景元",
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(偃偶之形•凝滞虚影", "Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(丹恒•饮月",
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(孽兽之形•凝滞虚影", "Stagnant_Shadow_Abomination": "角色晋阶材料:量子(玲可 / 符玄",
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(天人之形•凝滞虚影", "Stagnant_Shadow_Celestial": "角色晋阶材料:风(",
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "遗器:冰套+风套(霜风之径•侵蚀隧洞)", "Cavern_of_Corrosion_Path_of_Gelid_Wind": "遗器:冰套+风套(霜风之径•侵蚀隧洞)",
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遗器:物理套+击破套(迅拳之径•侵蚀隧洞)", "Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遗器:物理套+击破套(迅拳之径•侵蚀隧洞)",
"Cavern_of_Corrosion_Path_of_Drifting": "遗器:治疗套+快枪手(漂泊之径•侵蚀隧洞)", "Cavern_of_Corrosion_Path_of_Drifting": "遗器:治疗套+快枪手(漂泊之径•侵蚀隧洞)",
@ -308,18 +308,18 @@
"name": "完成1次凝滞虚影", "name": "完成1次凝滞虚影",
"help": "", "help": "",
"do_not_achieve": "不完成这个任务", "do_not_achieve": "不完成这个任务",
"Stagnant_Shadow_Quanta": "角色晋阶材料:量子(空海之形•凝滞虚影", "Stagnant_Shadow_Quanta": "角色晋阶材料:量子(银狼 / 希儿 / 青雀",
"Stagnant_Shadow_Gust": "角色晋阶材料:风(巽风之形•凝滞虚影", "Stagnant_Shadow_Gust": "角色晋阶材料:风(丹恒 / 布洛妮娅 / 桑博",
"Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(鸣雷之形•凝滞虚影", "Stagnant_Shadow_Fulmination": "角色晋阶材料:雷(阿兰 / 希露瓦 / 停云 / 白露",
"Stagnant_Shadow_Blaze": "角色晋阶材料:火(炎华之形•凝滞虚影", "Stagnant_Shadow_Blaze": "角色晋阶材料:火(姬子 / 艾丝妲 / 虎克",
"Stagnant_Shadow_Spike": "角色晋阶材料:物理(锋芒之形•凝滞虚影", "Stagnant_Shadow_Spike": "角色晋阶材料:物理(娜塔莎 / 克拉拉 / 卢卡 / 素裳",
"Stagnant_Shadow_Rime": "角色晋阶材料:冰(霜晶之形•凝滞虚影", "Stagnant_Shadow_Rime": "角色晋阶材料:冰(三月七 / 黑塔 / 杰帕德 / 佩拉",
"Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(幻光之形•凝滞虚影", "Stagnant_Shadow_Mirage": "角色晋阶材料:虚数(瓦尔特 / 罗刹 / 驭空",
"Stagnant_Shadow_Icicle": "角色晋阶材料:冰(冰棱之形•凝滞虚影", "Stagnant_Shadow_Icicle": "角色晋阶材料:冰(彦卿",
"Stagnant_Shadow_Doom": "角色晋阶材料:雷(震厄之形•凝滞虚影", "Stagnant_Shadow_Doom": "角色晋阶材料:雷(卡芙卡 / 景元",
"Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(偃偶之形•凝滞虚影", "Stagnant_Shadow_Puppetry": "角色晋阶材料:虚数(丹恒•饮月",
"Stagnant_Shadow_Abomination": "角色晋阶材料:量子(孽兽之形•凝滞虚影", "Stagnant_Shadow_Abomination": "角色晋阶材料:量子(玲可 / 符玄",
"Stagnant_Shadow_Celestial": "角色晋阶材料:风(天人之形•凝滞虚影" "Stagnant_Shadow_Celestial": "角色晋阶材料:风("
}, },
"CavernOfCorrosion": { "CavernOfCorrosion": {
"name": "完成1次侵蚀隧洞", "name": "完成1次侵蚀隧洞",

View File

@ -221,18 +221,18 @@
"Calyx_Crimson_Erudition": "行跡材料:智識(智識之蕾•擬造花萼赤)", "Calyx_Crimson_Erudition": "行跡材料:智識(智識之蕾•擬造花萼赤)",
"Calyx_Crimson_Harmony": "行跡材料:同諧(同諧之蕾•擬造花萼赤)", "Calyx_Crimson_Harmony": "行跡材料:同諧(同諧之蕾•擬造花萼赤)",
"Calyx_Crimson_Nihility": "行跡材料:虛無(虛無之蕾•擬造花萼赤)", "Calyx_Crimson_Nihility": "行跡材料:虛無(虛無之蕾•擬造花萼赤)",
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(空海之形•凝滯虛影", "Stagnant_Shadow_Quanta": "角色晉階材料:量子(銀狼 / 希兒 / 青雀",
"Stagnant_Shadow_Gust": "角色晉階材料:風(巽風之形•凝滯虛影", "Stagnant_Shadow_Gust": "角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博",
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(鳴雷之形•凝滯虛影", "Stagnant_Shadow_Fulmination": "角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露",
"Stagnant_Shadow_Blaze": "角色晉階材料:火(炎華之形•凝滯虛影", "Stagnant_Shadow_Blaze": "角色晉階材料:火(姬子 / 艾絲妲 / 虎克",
"Stagnant_Shadow_Spike": "角色晉階材料:物理(鋒芒之形•凝滯虛影", "Stagnant_Shadow_Spike": "角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳",
"Stagnant_Shadow_Rime": "角色晉階材料:冰(霜晶之形•凝滯虛影", "Stagnant_Shadow_Rime": "角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉",
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(幻光之形•凝滯虛影", "Stagnant_Shadow_Mirage": "角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空",
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(冰稜之形•凝滯虛影", "Stagnant_Shadow_Icicle": "角色晉階材料:冰(彥卿",
"Stagnant_Shadow_Doom": "角色晉階材料:雷(震厄之形•凝滯虛影", "Stagnant_Shadow_Doom": "角色晉階材料:雷(卡芙卡 / 景元",
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(偃偶之形•凝滯虛影", "Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(丹恆•飲月",
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(孽獸之形•凝滯虛影", "Stagnant_Shadow_Abomination": "角色晉階材料:量子(玲可 / 符玄",
"Stagnant_Shadow_Celestial": "角色晉階材料:風(天人之形•凝滯虛影", "Stagnant_Shadow_Celestial": "角色晉階材料:風(",
"Cavern_of_Corrosion_Path_of_Gelid_Wind": "遺器:冰套+風套(霜風之徑•侵蝕隧洞)", "Cavern_of_Corrosion_Path_of_Gelid_Wind": "遺器:冰套+風套(霜風之徑•侵蝕隧洞)",
"Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遺器:物理套+擊破套(迅拳之徑•侵蝕隧洞)", "Cavern_of_Corrosion_Path_of_Jabbing_Punch": "遺器:物理套+擊破套(迅拳之徑•侵蝕隧洞)",
"Cavern_of_Corrosion_Path_of_Drifting": "遺器:治療套+快槍手(漂泊之徑•侵蝕隧洞)", "Cavern_of_Corrosion_Path_of_Drifting": "遺器:治療套+快槍手(漂泊之徑•侵蝕隧洞)",
@ -308,18 +308,18 @@
"name": "完成1次凝滯虛影", "name": "完成1次凝滯虛影",
"help": "", "help": "",
"do_not_achieve": "不完成這個任務", "do_not_achieve": "不完成這個任務",
"Stagnant_Shadow_Quanta": "角色晉階材料:量子(空海之形•凝滯虛影", "Stagnant_Shadow_Quanta": "角色晉階材料:量子(銀狼 / 希兒 / 青雀",
"Stagnant_Shadow_Gust": "角色晉階材料:風(巽風之形•凝滯虛影", "Stagnant_Shadow_Gust": "角色晉階材料:風(丹恆 / 布洛妮婭 / 桑博",
"Stagnant_Shadow_Fulmination": "角色晉階材料:雷(鳴雷之形•凝滯虛影", "Stagnant_Shadow_Fulmination": "角色晉階材料:雷(阿蘭 / 希露瓦 / 停雲 / 白露",
"Stagnant_Shadow_Blaze": "角色晉階材料:火(炎華之形•凝滯虛影", "Stagnant_Shadow_Blaze": "角色晉階材料:火(姬子 / 艾絲妲 / 虎克",
"Stagnant_Shadow_Spike": "角色晉階材料:物理(鋒芒之形•凝滯虛影", "Stagnant_Shadow_Spike": "角色晉階材料:物理(娜塔莎 / 克拉拉 / 盧卡 / 素裳",
"Stagnant_Shadow_Rime": "角色晉階材料:冰(霜晶之形•凝滯虛影", "Stagnant_Shadow_Rime": "角色晉階材料:冰(三月七 / 黑塔 / 傑帕德 / 佩拉",
"Stagnant_Shadow_Mirage": "角色晉階材料:虛數(幻光之形•凝滯虛影", "Stagnant_Shadow_Mirage": "角色晉階材料:虛數(瓦爾特 / 羅剎 / 馭空",
"Stagnant_Shadow_Icicle": "角色晉階材料:冰(冰稜之形•凝滯虛影", "Stagnant_Shadow_Icicle": "角色晉階材料:冰(彥卿",
"Stagnant_Shadow_Doom": "角色晉階材料:雷(震厄之形•凝滯虛影", "Stagnant_Shadow_Doom": "角色晉階材料:雷(卡芙卡 / 景元",
"Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(偃偶之形•凝滯虛影", "Stagnant_Shadow_Puppetry": "角色晉階材料:虛數(丹恆•飲月",
"Stagnant_Shadow_Abomination": "角色晉階材料:量子(孽獸之形•凝滯虛影", "Stagnant_Shadow_Abomination": "角色晉階材料:量子(玲可 / 符玄",
"Stagnant_Shadow_Celestial": "角色晉階材料:風(天人之形•凝滯虛影" "Stagnant_Shadow_Celestial": "角色晉階材料:風("
}, },
"CavernOfCorrosion": { "CavernOfCorrosion": {
"name": "完成1次侵蝕隧洞", "name": "完成1次侵蝕隧洞",

View File

@ -1,5 +1,7 @@
import tasks.dungeon.keywords.dungeon as KEYWORDS_DUNGEON_LIST 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.dungeon_entrance as KEYWORDS_DUNGEON_ENTRANCE
import tasks.dungeon.keywords.nav as KEYWORDS_DUNGEON_NAV import tasks.dungeon.keywords.nav as KEYWORDS_DUNGEON_NAV
import tasks.dungeon.keywords.tab as KEYWORDS_DUNGEON_TAB 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) @dataclass(repr=False)
class DungeonEntrance(Keyword): class DungeonEntrance(Keyword):
instances: ClassVar = {} instances: ClassVar = {}
@dataclass(repr=False)
class DungeonDetailed(Keyword):
instances: ClassVar = {}

View 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)',
)