Merge pull request #446 from LmeSzinc/dev

Bug fix
This commit is contained in:
LmeSzinc 2024-05-08 21:17:04 +08:00 committed by GitHub
commit 423d5351de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 576 additions and 379 deletions

BIN
assets/character/Robin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -63,7 +63,8 @@ class TextMap:
def text_to_variable(text): def text_to_variable(text):
text = re.sub("'s |s' ", '_', text) text = re.sub("'s |s' ", '_', text)
text = re.sub(r'[ \-—:\'/•.]+', '_', text) text = re.sub(r'[ \-—–:\'/•.™]+', '_', text)
text = re.sub(r'[█]+', '', text)
text = re.sub(r'[(),#"?!&%*]|</?\w+>', '', text) text = re.sub(r'[(),#"?!&%*]|</?\w+>', '', text)
# text = re.sub(r'[#_]?\d+(_times?)?', '', text) # text = re.sub(r'[#_]?\d+(_times?)?', '', text)
text = re.sub(r'<color=#?\w+>', '', text) text = re.sub(r'<color=#?\w+>', '', text)

View File

@ -16,6 +16,8 @@ def dungeon_name(name: str) -> str:
name = f'Echo_of_War_{name}' name = f'Echo_of_War_{name}'
if name in ['The_Swarm_Disaster', 'Gold_and_Gears']: if name in ['The_Swarm_Disaster', 'Gold_and_Gears']:
name = f'Simulated_Universe_{name}' name = f'Simulated_Universe_{name}'
name = name.replace('Stagnant_Shadow_Stagnant_Shadow', 'Stagnant_Shadow')
name = name.replace('Cavern_of_Corrosion_Cavern_of_Corrosion', 'Cavern_of_Corrosion')
return name return name
@ -70,7 +72,10 @@ class GenerateDungeonList(GenerateKeyword):
if text.startswith('Calyx_Crimson'): if text.startswith('Calyx_Crimson'):
plane = MapPlane.find_plane_id(keyword['plane_id']) plane = MapPlane.find_plane_id(keyword['plane_id'])
if plane is not None:
text = f'{text}_{plane.name}' text = f'{text}_{plane.name}'
else:
text = f'{text}_unknown_plane'
return text return text
def convert_keyword(self, text: str, lang: str) -> str: def convert_keyword(self, text: str, lang: str) -> str:

View File

@ -456,6 +456,7 @@
"Natasha", "Natasha",
"Pela", "Pela",
"Qingque", "Qingque",
"Robin",
"RuanMei", "RuanMei",
"Sampo", "Sampo",
"Seele", "Seele",
@ -1371,6 +1372,7 @@
"Natasha", "Natasha",
"Pela", "Pela",
"Qingque", "Qingque",
"Robin",
"RuanMei", "RuanMei",
"Sampo", "Sampo",
"Seele", "Seele",

View File

@ -59,7 +59,7 @@ class GeneratedConfig:
# Group `DungeonSupport` # Group `DungeonSupport`
DungeonSupport_Use = 'when_daily' # always_use, when_daily, do_not_use DungeonSupport_Use = 'when_daily' # always_use, when_daily, do_not_use
DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Acheron, Argenti, Arlan, Asta, Aventurine, Bailu, BlackSwan, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, DrRatio, FuXuan, Gallagher, Gepard, Guinaifen, Hanya, Herta, Himeko, Hook, Huohuo, JingYuan, Jingliu, Kafka, Luka, Luocha, Lynx, March7th, Misha, Natasha, Pela, Qingque, RuanMei, Sampo, Seele, Serval, SilverWolf, Sparkle, Sushang, Tingyun, TopazNumby, TrailblazerDestruction, TrailblazerPreservation, Welt, Xueyi, Yanqing, Yukong DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Acheron, Argenti, Arlan, Asta, Aventurine, Bailu, BlackSwan, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, DrRatio, FuXuan, Gallagher, Gepard, Guinaifen, Hanya, Herta, Himeko, Hook, Huohuo, JingYuan, Jingliu, Kafka, Luka, Luocha, Lynx, March7th, Misha, Natasha, Pela, Qingque, Robin, RuanMei, Sampo, Seele, Serval, SilverWolf, Sparkle, Sushang, Tingyun, TopazNumby, TrailblazerDestruction, TrailblazerPreservation, Welt, Xueyi, Yanqing, Yukong
# Group `DungeonStorage` # Group `DungeonStorage`
DungeonStorage_TrailblazePower = {} DungeonStorage_TrailblazePower = {}

View File

@ -100,7 +100,7 @@ class ConfigGenerator:
options=[dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Echo_of_War]) options=[dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Echo_of_War])
# Insert characters # Insert characters
from tasks.character.keywords import CharacterList from tasks.character.keywords import CharacterList
unsupported_characters = [] unsupported_characters = ["Boothill", "TrailblazerHarmony"]
characters = [character.name for character in CharacterList.instances.values() characters = [character.name for character in CharacterList.instances.values()
if character.name not in unsupported_characters] if character.name not in unsupported_characters]
option_add(keys='DungeonSupport.Character.option', options=characters) option_add(keys='DungeonSupport.Character.option', options=characters)

View File

@ -470,6 +470,7 @@
"Natasha": "Natasha", "Natasha": "Natasha",
"Pela": "Pela", "Pela": "Pela",
"Qingque": "Qingque", "Qingque": "Qingque",
"Robin": "Robin",
"RuanMei": "Ruan Mei", "RuanMei": "Ruan Mei",
"Sampo": "Sampo", "Sampo": "Sampo",
"Seele": "Seele", "Seele": "Seele",

View File

@ -470,6 +470,7 @@
"Natasha": "Natasha", "Natasha": "Natasha",
"Pela": "Pela", "Pela": "Pela",
"Qingque": "Qingque", "Qingque": "Qingque",
"Robin": "Robin",
"RuanMei": "Ruan Mei", "RuanMei": "Ruan Mei",
"Sampo": "Sampo", "Sampo": "Sampo",
"Seele": "Seele", "Seele": "Seele",

View File

@ -470,6 +470,7 @@
"Natasha": "ナターシャ", "Natasha": "ナターシャ",
"Pela": "ペラ", "Pela": "ペラ",
"Qingque": "青雀", "Qingque": "青雀",
"Robin": "ロビン",
"RuanMei": "ルアン・メェイ", "RuanMei": "ルアン・メェイ",
"Sampo": "サンポ", "Sampo": "サンポ",
"Seele": "ゼーレ", "Seele": "ゼーレ",

View File

@ -470,6 +470,7 @@
"Natasha": "娜塔莎", "Natasha": "娜塔莎",
"Pela": "佩拉", "Pela": "佩拉",
"Qingque": "青雀", "Qingque": "青雀",
"Robin": "知更鸟",
"RuanMei": "阮•梅", "RuanMei": "阮•梅",
"Sampo": "桑博", "Sampo": "桑博",
"Seele": "希儿", "Seele": "希儿",

View File

@ -470,6 +470,7 @@
"Natasha": "娜塔莎", "Natasha": "娜塔莎",
"Pela": "佩拉", "Pela": "佩拉",
"Qingque": "青雀", "Qingque": "青雀",
"Robin": "知更鳥",
"RuanMei": "阮•梅", "RuanMei": "阮•梅",
"Sampo": "桑博", "Sampo": "桑博",
"Seele": "希兒", "Seele": "希兒",

View File

@ -7,7 +7,7 @@ import module.config.server as server
from module.exception import ScriptError from module.exception import ScriptError
# ord('') = 65294 # ord('') = 65294
REGEX_PUNCTUATION = re.compile(r'[ ,.\'"“”,。…:;!??·・•●〇°*※\-—/\\\n\t()\[\]()「」『』【】《》[]]') REGEX_PUNCTUATION = re.compile(r'[ ,.\'"“”,。…:;!??·・•●〇°*※\-—/\\\n\t()\[\]()「」『』【】《》[]]')
def parse_name(n): def parse_name(n):

View File

@ -67,3 +67,35 @@ class Route(RouteBase):
self.clear_item(item) self.clear_item(item)
self.clear_event(event) self.clear_event(event)
# ===== End of generated waypoints ===== # ===== End of generated waypoints =====
def Jarilo_BackwaterPass_F1_X611Y761(self):
"""
| Waypoint | Position | Direction | Rotation |
| -------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((613.3, 755.7)), | 319.8 | 318 |
| item | Waypoint((603.0, 734.6)), | 342.6 | 343 |
| event | Waypoint((586.8, 724.7)), | 318.0 | 315 |
| exit_ | Waypoint((576.9, 728.6)), | 126.2 | 304 |
| exit1 | Waypoint((567.0, 732.7)), | 311.8 | 306 |
| exit2 | Waypoint((576.2, 722.0)), | 308.1 | 306 |
"""
self.map_init(plane=Jarilo_BackwaterPass, floor="F1", position=(611.4, 761.2))
self.register_domain_exit(
Waypoint((576.9, 728.6)), end_rotation=304,
left_door=Waypoint((567.0, 732.7)), right_door=Waypoint((576.2, 722.0)))
item = Waypoint((603.0, 734.6))
event = Waypoint((586.8, 724.7))
self.clear_item(item)
self.clear_event(event)
# ===== End of generated waypoints =====
# Best 3 predictions: [
# ('Occurrence_Jarilo_BackwaterPass_F1_X613Y755', 0.203, (611.4, 761.2)),
# ('Occurrence_Herta_SupplyZone_F2Rogue_X397Y223', 0.148, (381.4, 207.5)),
# ('Occurrence_Herta_SupplyZone_F2Rogue_X397Y227', 0.148, (381.4, 207.5))
# ]
"""
Notes
Jarilo_BackwaterPass_F1_X611Y761 is the same as Jarilo_BackwaterPass_F1_X613Y755
but for wrong spawn point detected
"""

View File

@ -49,6 +49,38 @@ class Route(RouteBase):
self.clear_event(event) self.clear_event(event)
# ===== End of generated waypoints ===== # ===== End of generated waypoints =====
def Jarilo_SilvermaneGuardRestrictedZone_F1_X435Y233(self):
"""
| Waypoint | Position | Direction | Rotation |
| -------- | ------------------------- | --------- | -------- |
| spawn | Waypoint((439.3, 237.1)), | 354.1 | 348 |
| item | Waypoint((440.8, 215.2)), | 15.6 | 11 |
| event | Waypoint((434.8, 192.4)), | 355.9 | 359 |
| exit_ | Waypoint((428.6, 190.4)), | 76.4 | 338 |
| exit1 | Waypoint((416.8, 184.4)), | 337.5 | 334 |
| exit2 | Waypoint((428.8, 180.4)), | 339.1 | 336 |
"""
self.map_init(plane=Jarilo_SilvermaneGuardRestrictedZone, floor="F1", position=(435.5, 233.5))
self.register_domain_exit(
Waypoint((428.6, 190.4)), end_rotation=338,
left_door=Waypoint((416.8, 184.4)), right_door=Waypoint((428.8, 180.4)))
item = Waypoint((440.8, 215.2))
event = Waypoint((434.8, 192.4))
self.clear_item(item)
self.clear_event(event)
# ===== End of generated waypoints =====
# Best 3 predictions: [
# ('Occurrence_Jarilo_SilvermaneGuardRestrictedZone_F1_X439Y237', 0.194, (435.5, 233.5)),
# ('Occurrence_Luofu_ScalegorgeWaterscape_F1_X619Y387', 0.118, (593.5, 412.0)),
# ('Occurrence_Luofu_Cloudford_F1_X244Y951', 0.098, (193.8, 931.7))
# ]
"""
Notes
Jarilo_SilvermaneGuardRestrictedZone_F1_X435Y233 is the same as Jarilo_SilvermaneGuardRestrictedZone_F1_X439Y237
but for wrong spawn point detected
"""
def Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541(self): def Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541(self):
""" """
| Waypoint | Position | Direction | Rotation | | Waypoint | Position | Direction | Rotation |

View File

@ -1594,6 +1594,17 @@
], ],
"domain": "Occurrence" "domain": "Occurrence"
}, },
{
"name": "Occurrence_Jarilo_BackwaterPass_F1_X611Y761",
"route": "route.rogue.Occurrence.Jarilo_BackwaterPass_F1:Jarilo_BackwaterPass_F1_X611Y761",
"plane": "Jarilo_BackwaterPass",
"floor": "F1",
"position": [
611.4,
761.2
],
"domain": "Occurrence"
},
{ {
"name": "Occurrence_Jarilo_CorridorofFadingEchoes_F1_X236Y903", "name": "Occurrence_Jarilo_CorridorofFadingEchoes_F1_X236Y903",
"route": "route.rogue.Occurrence.Jarilo_CorridorofFadingEchoes_F1:Jarilo_CorridorofFadingEchoes_F1_X236Y903", "route": "route.rogue.Occurrence.Jarilo_CorridorofFadingEchoes_F1:Jarilo_CorridorofFadingEchoes_F1_X236Y903",
@ -1715,6 +1726,17 @@
], ],
"domain": "Occurrence" "domain": "Occurrence"
}, },
{
"name": "Occurrence_Jarilo_SilvermaneGuardRestrictedZone_F1_X435Y233",
"route": "route.rogue.Occurrence.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X435Y233",
"plane": "Jarilo_SilvermaneGuardRestrictedZone",
"floor": "F1",
"position": [
435.5,
233.5
],
"domain": "Occurrence"
},
{ {
"name": "Occurrence_Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541", "name": "Occurrence_Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541",
"route": "route.rogue.Occurrence.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541", "route": "route.rogue.Occurrence.Jarilo_SilvermaneGuardRestrictedZone_F1:Jarilo_SilvermaneGuardRestrictedZone_F1_X509Y541",

View File

@ -31,30 +31,30 @@ KEYWORDS_ASSIGNMENT_GROUP.Synthesis_Materials.entries = (
KEYWORDS_ASSIGNMENT_ENTRY.Scalpel_and_Screwdriver, KEYWORDS_ASSIGNMENT_ENTRY.Scalpel_and_Screwdriver,
) )
KEYWORDS_ASSIGNMENT_EVENT_GROUP.Space_Station_Task_Force.entries = ( KEYWORDS_ASSIGNMENT_EVENT_GROUP.Space_Station_Task_Force.entries = (
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Repulsion_Bridge_Errors, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Activate_Genetic_Samples,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Meal_Delivery_Robot_Check_Up, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Reproduce_Experimental_Data,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Noise_Complaint, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Burned_Warehouse,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Interior_Temperature_Modulator, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Car_Thief,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Researcher_Health_Reports, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Synesthesia_Beacon_Function_Iteration,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Confidential_Investigation, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Hunters_Wanted_No_Newbies_Please,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Borrowed_Equipment, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Peaceful_Life_for_Good_People,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Booking_System, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Closed_Beta_Test_Recruitment,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Non_Digital_Documents, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Protect_Digital_Exhibits,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Drip_Feed_Errors, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Final_Survivor,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Pet_Movement_Route_Planning, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Water_Pollution_Control,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Food_Improvement_Plan, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Hook_Line_and_Sinker,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Curio_Distribution, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Investigation_Order_Boothill,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Super_Urgent_Waiting_Online, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Volunteers_Wanted,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Ventilation_Problem, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Burn_Treatment,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Unstable_Connection, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.I_Want_to_Speak_to_Your_Manager,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Chronology_Checks, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Licensed_Product_Damage_Assessment,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Supply_Chain_Management, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Annoying_Flies,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Malicious_Occupation_of_Public_Space, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Urgent_Protection_Services,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Uniform_Material, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.A_Dream_Is_Born,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Virus_Re_creation_Report, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Wanted_Boothill,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Abnormal_Signal, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Casual_Cowboy,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Flexible_Working_Approval, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Dangerous_Journey,
KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Lighting_Issue, KEYWORDS_ASSIGNMENT_EVENT_ENTRY.Crossing_the_Fire_Line,
) )
for group in ( for group in (
KEYWORDS_ASSIGNMENT_GROUP.Character_Materials, KEYWORDS_ASSIGNMENT_GROUP.Character_Materials,

View File

@ -3,219 +3,219 @@ from .classes import AssignmentEventEntry
# This file was auto-generated, do not modify it manually. To generate: # This file was auto-generated, do not modify it manually. To generate:
# ``` python -m dev_tools.keyword_extract ``` # ``` python -m dev_tools.keyword_extract ```
Repulsion_Bridge_Errors = AssignmentEventEntry( Activate_Genetic_Samples = AssignmentEventEntry(
id=1, id=1,
name='Repulsion_Bridge_Errors', name='Activate_Genetic_Samples',
cn='斥力桥报错', cn='激活基因样本',
cht='斥力橋錯誤', cht='激發基因樣本',
en='Repulsion Bridge Errors', en='Activate Genetic Samples',
jp='斥力ブリッジエラー', jp='遺伝子サンプルの活性化',
es='Reporte de error del puente de rechazo', es='Activación de muestras genéticas',
) )
Meal_Delivery_Robot_Check_Up = AssignmentEventEntry( Reproduce_Experimental_Data = AssignmentEventEntry(
id=2, id=2,
name='Meal_Delivery_Robot_Check_Up', name='Reproduce_Experimental_Data',
cn='送餐机器人检修', cn='复现实验数据',
cht='送餐機器人檢修', cht='重現實驗數據',
en='Meal-Delivery Robot Check-Up', en='Reproduce Experimental Data',
jp='配膳ロボット点検修理', jp='実験データの復元',
es='Mantenimiento de los robots de reparto de comida', es='Recreación de datos experimentales',
) )
Noise_Complaint = AssignmentEventEntry( Burned_Warehouse = AssignmentEventEntry(
id=3, id=3,
name='Noise_Complaint', name='Burned_Warehouse',
cn='噪音投诉问题', cn='仓库被烧',
cht='噪音投訴問題', cht='倉庫被燒',
en='Noise Complaint', en='Burned Warehouse',
jp='騒音苦情問題', jp='燃えた倉庫',
es='Quejas por ruidos', es='Almacén incinerado',
) )
Interior_Temperature_Modulator = AssignmentEventEntry( Car_Thief = AssignmentEventEntry(
id=4, id=4,
name='Interior_Temperature_Modulator', name='Car_Thief',
cn='室内温度调节器', cn='███的偷车贼!',
cht='室內溫度調節器', cht='███的偷車賊!',
en='Interior Temperature Modulator', en='███████ Car Thief!',
jp='室内温度調節器', jp='███の車泥棒!',
es='Regulador de temperatura ambiental', es='¡████ ladrón de autos!',
) )
Researcher_Health_Reports = AssignmentEventEntry( Synesthesia_Beacon_Function_Iteration = AssignmentEventEntry(
id=5, id=5,
name='Researcher_Health_Reports', name='Synesthesia_Beacon_Function_Iteration',
cn='科员的体检报告', cn='联觉信标功能迭代',
cht='組員的體檢報告', cht='聯覺信標功能更新',
en="Researchers' Health Reports", en='Synesthesia Beacon Function Iteration',
jp='スタッフの健康診断報告', jp='共感覚ビーコン機能アップデート',
es='Informe médico de los investigadores', es='Iteración de funciones de la baliza sinestésica',
) )
Confidential_Investigation = AssignmentEventEntry( Hunters_Wanted_No_Newbies_Please = AssignmentEventEntry(
id=6, id=6,
name='Confidential_Investigation', name='Hunters_Wanted_No_Newbies_Please',
cn='秘密调查行动', cn='来猎人,菜鸟勿扰',
cht='秘密調查行動', cht='來獵人,菜鳥勿擾',
en='Confidential Investigation', en='Hunters Wanted, No Newbies Please',
jp='秘密裏の調査', jp='プロハンター歓迎、初心者お断り',
es='Investigación encubierta', es='Se necesitan cazadores. Novatos abstenerse',
) )
Borrowed_Equipment = AssignmentEventEntry( Peaceful_Life_for_Good_People = AssignmentEventEntry(
id=7, id=7,
name='Borrowed_Equipment', name='Peaceful_Life_for_Good_People',
cn='实验器械借用', cn='好人一生平安',
cht='實驗器械借用', cht='好人一生平安',
en='Borrowed Equipment', en='Peaceful Life for Good People',
jp='実験機器借用', jp='善人は一生安泰',
es='Préstamo de instrumentos de laboratorio', es='Vida pacífica para la gente de bien',
) )
Booking_System = AssignmentEventEntry( Closed_Beta_Test_Recruitment = AssignmentEventEntry(
id=8, id=8,
name='Booking_System', name='Closed_Beta_Test_Recruitment',
cn='会议室预约系统', cn='征集内测玩家',
cht='會議室預約系統', cht='徵求封測玩家',
en='Booking System', en='Closed Beta Test Recruitment',
jp='会議室予約システム', jp='テスター募集',
es='Sistema de reserva de las salas de reuniones', es='Reclutamiento para beta cerrada',
) )
Non_Digital_Documents = AssignmentEventEntry( Protect_Digital_Exhibits = AssignmentEventEntry(
id=9, id=9,
name='Non_Digital_Documents', name='Protect_Digital_Exhibits',
cn='非电子版文件', cn='保护数字展品',
cht='非電子版文件', cht='保護數位展品',
en='Non-Digital Documents', en='Protect Digital Exhibits',
jp='非デジタル版ファイル', jp='デジタル展示品を守れ',
es='Documentos no electrónicos', es='Protección de objetos de exposición digitales',
) )
Drip_Feed_Errors = AssignmentEventEntry( Final_Survivor = AssignmentEventEntry(
id=10, id=10,
name='Drip_Feed_Errors', name='Final_Survivor',
cn='液滴系统报错', cn='最后的生还者',
cht='液滴系統錯誤', cht='最後的生還者',
en='Drip-Feed Errors', en='Final Survivor',
jp='水やりシステムエラー', jp='最後の生還者',
es='Reporte de error del sistema de goteo', es='Última superviviente',
) )
Pet_Movement_Route_Planning = AssignmentEventEntry( Water_Pollution_Control = AssignmentEventEntry(
id=11, id=11,
name='Pet_Movement_Route_Planning', name='Water_Pollution_Control',
cn='宠物行动路线规划', cn='水域排污',
cht='寵物行動路線規劃', cht='水域排汙',
en='Pet Movement Route Planning', en='Water Pollution Control',
jp='ペットの行動ルート規制', jp='水質汚染',
es='Planificación de las rutas de paseo de mascotas', es='Control de contaminación acuática',
) )
Food_Improvement_Plan = AssignmentEventEntry( Hook_Line_and_Sinker = AssignmentEventEntry(
id=12, id=12,
name='Food_Improvement_Plan', name='Hook_Line_and_Sinker',
cn='餐饮优化方案', cn='愿者上钩',
cht='餐飲改良方案', cht='願者上鉤',
en='Food Improvement Plan', en='Hook, Line, and Sinker',
jp='飲食優良化法案', jp='いずれ捕まる',
es='Programa de mejora de comida', es='Quien muerde el anzuelo es porque quiere',
) )
Curio_Distribution = AssignmentEventEntry( Investigation_Order_Boothill = AssignmentEventEntry(
id=13, id=13,
name='Curio_Distribution', name='Investigation_Order_Boothill',
cn='奇物借用问题', cn='追查令:波提欧',
cht='奇物借用問題', cht='追查令:波提歐',
en='Curio Distribution', en='Investigation Order: Boothill',
jp='奇物借用問題', jp='調査命令:ブートヒル',
es='Problemas con el préstamo de objetos raros', es='Orden de investigación: Boothill',
) )
Super_Urgent_Waiting_Online = AssignmentEventEntry( Volunteers_Wanted = AssignmentEventEntry(
id=14, id=14,
name='Super_Urgent_Waiting_Online', name='Volunteers_Wanted',
cn='来活人很急在线等', cn='寻找志愿者',
cht='急,線上等', cht='尋找志向者',
en='Super Urgent, Waiting Online', en='Volunteers Wanted',
jp='緊急助っ人求むオンラインにて待つ', jp='ボランティアを探せ',
es='Muy urgente, esperando en línea', es='Se necesitan voluntarios',
) )
Ventilation_Problem = AssignmentEventEntry( Burn_Treatment = AssignmentEventEntry(
id=15, id=15,
name='Ventilation_Problem', name='Burn_Treatment',
cn='空气流通问题', cn='烧伤治疗',
cht='空氣流通問題', cht='燒傷治療',
en='Ventilation Problem', en='Burn Treatment',
jp='換気問題', jp='火傷の治療',
es='Problemas con la circulación del aire', es='Tratamiento cauterizador',
) )
Unstable_Connection = AssignmentEventEntry( I_Want_to_Speak_to_Your_Manager = AssignmentEventEntry(
id=16, id=16,
name='Unstable_Connection', name='I_Want_to_Speak_to_Your_Manager',
cn='连接不稳定问题', cn='去把你们经理喊过来',
cht='連線不穩定問題', cht='叫你們經理出來',
en='Unstable Connection', en='I Want to Speak to Your Manager',
jp='接続不安定問題', jp='責任者を呼べ',
es='Conexión inestable', es='Quiero hablar con su gerente',
) )
Chronology_Checks = AssignmentEventEntry( Licensed_Product_Damage_Assessment = AssignmentEventEntry(
id=17, id=17,
name='Chronology_Checks', name='Licensed_Product_Damage_Assessment',
cn='编年史校对', cn='授权产品定损',
cht='編年史校對', cht='授權產品損失鑑定',
en='Chronology Checks', en='Licensed Product Damage Assessment',
jp='編年史校正', jp='ライセンス製品の損失額評価',
es='Corrección de registros', es='Evaluación de pérdidas de productos autorizados',
) )
Supply_Chain_Management = AssignmentEventEntry( Annoying_Flies = AssignmentEventEntry(
id=18, id=18,
name='Supply_Chain_Management', name='Annoying_Flies',
cn='物流供应链管理', cn='烦人的苍蝇',
cht='物流供應鏈管理', cht='煩人的蒼蠅',
en='Supply Chain Management', en='Annoying Flies',
jp='物流供給路線管理', jp='鬱陶しいハエ',
es='Gestión de pedidos', es='Moscas molestas',
) )
Malicious_Occupation_of_Public_Space = AssignmentEventEntry( Urgent_Protection_Services = AssignmentEventEntry(
id=19, id=19,
name='Malicious_Occupation_of_Public_Space', name='Urgent_Protection_Services',
cn='公共区域被恶意侵占', cn='紧急护卫',
cht='公共區域被惡意侵佔', cht='緊急護衛',
en='Malicious Occupation of Public Space', en='Urgent Protection Services',
jp='公共区域の悪意による独占', jp='緊急護衛',
es='Invasión de espacios públicos', es='Se necesita protección urgente',
) )
Uniform_Material = AssignmentEventEntry( A_Dream_Is_Born = AssignmentEventEntry(
id=20, id=20,
name='Uniform_Material', name='A_Dream_Is_Born',
cn='科室服装面料', cn='星梦起航',
cht='科室服裝材質', cht='星夢啟航',
en='Uniform Material', en='A Dream Is Born',
jp='スタッフ制服の素材', jp='星の夢の門出',
es='Material del uniforme', es='Ha nacido una estrella',
) )
Virus_Re_creation_Report = AssignmentEventEntry( Wanted_Boothill = AssignmentEventEntry(
id=21, id=21,
name='Virus_Re_creation_Report', name='Wanted_Boothill',
cn='病毒溯源报告', cn='通缉令:波提欧',
cht='病毒溯源報告', cht='通緝令:波提歐',
en='Virus Re-creation Report', en='Wanted: Boothill',
jp='ウイルス根源報告', jp='指名手配:ブートヒル',
es='Informe de rastreo de virus', es='Se busca: Boothill',
) )
Abnormal_Signal = AssignmentEventEntry( Casual_Cowboy = AssignmentEventEntry(
id=22, id=22,
name='Abnormal_Signal', name='Casual_Cowboy',
cn='舱段信号异常', cn='牛仔不忙',
cht='艙段訊號異常', cht='牛仔不忙',
en='Abnormal Signal', en='Casual Cowboy',
jp='部分の信号異常', jp='暇を持て余したカウボーイ',
es='Mala señal en las cabinas', es='Vaquero ocioso',
) )
Flexible_Working_Approval = AssignmentEventEntry( Dangerous_Journey = AssignmentEventEntry(
id=23, id=23,
name='Flexible_Working_Approval', name='Dangerous_Journey',
cn='轮休审批流程', cn='危险之旅',
cht='輪休審批流程', cht='危險之旅',
en='Flexible Working Approval', en='Dangerous Journey',
jp='交代休み審査フロー', jp='危険な旅',
es='Aprobación de días de descanso', es='Viaje peligroso',
) )
Lighting_Issue = AssignmentEventEntry( Crossing_the_Fire_Line = AssignmentEventEntry(
id=24, id=24,
name='Lighting_Issue', name='Crossing_the_Fire_Line',
cn='灯光照明问题', cn='穿越火线',
cht='燈光照明問題', cht='穿越火線',
en='Lighting Issue', en='Crossing the Fire Line',
jp='照明の色問題', jp='クロスファイア',
es='Problemas de iluminación', es='Cruzando la línea de fuego',
) )

View File

@ -75,8 +75,17 @@ Blade = CharacterList(
jp='', jp='',
es='Blade', es='Blade',
) )
Bronya = CharacterList( Boothill = CharacterList(
id=9, id=9,
name='Boothill',
cn='波提欧',
cht='波提歐',
en='Boothill',
jp='ブートヒル',
es='Boothill',
)
Bronya = CharacterList(
id=10,
name='Bronya', name='Bronya',
cn='布洛妮娅', cn='布洛妮娅',
cht='布洛妮婭', cht='布洛妮婭',
@ -85,7 +94,7 @@ Bronya = CharacterList(
es='Bronya', es='Bronya',
) )
Clara = CharacterList( Clara = CharacterList(
id=10, id=11,
name='Clara', name='Clara',
cn='克拉拉', cn='克拉拉',
cht='克拉拉', cht='克拉拉',
@ -94,7 +103,7 @@ Clara = CharacterList(
es='Clara', es='Clara',
) )
DanHeng = CharacterList( DanHeng = CharacterList(
id=11, id=12,
name='DanHeng', name='DanHeng',
cn='丹恒', cn='丹恒',
cht='丹恆', cht='丹恆',
@ -103,7 +112,7 @@ DanHeng = CharacterList(
es='Dan Heng', es='Dan Heng',
) )
DanHengImbibitorLunae = CharacterList( DanHengImbibitorLunae = CharacterList(
id=12, id=13,
name='DanHengImbibitorLunae', name='DanHengImbibitorLunae',
cn='丹恒•饮月', cn='丹恒•饮月',
cht='丹恆•飲月', cht='丹恆•飲月',
@ -112,7 +121,7 @@ DanHengImbibitorLunae = CharacterList(
es='Dan Heng - Imbibitor Lunae', es='Dan Heng - Imbibitor Lunae',
) )
DrRatio = CharacterList( DrRatio = CharacterList(
id=13, id=14,
name='DrRatio', name='DrRatio',
cn='真理医生', cn='真理医生',
cht='真理醫生', cht='真理醫生',
@ -121,7 +130,7 @@ DrRatio = CharacterList(
es='Dr. Ratio', es='Dr. Ratio',
) )
FuXuan = CharacterList( FuXuan = CharacterList(
id=14, id=15,
name='FuXuan', name='FuXuan',
cn='符玄', cn='符玄',
cht='符玄', cht='符玄',
@ -130,7 +139,7 @@ FuXuan = CharacterList(
es='Fu Xuan', es='Fu Xuan',
) )
Gallagher = CharacterList( Gallagher = CharacterList(
id=15, id=16,
name='Gallagher', name='Gallagher',
cn='加拉赫', cn='加拉赫',
cht='加拉赫', cht='加拉赫',
@ -139,7 +148,7 @@ Gallagher = CharacterList(
es='Gallagher', es='Gallagher',
) )
Gepard = CharacterList( Gepard = CharacterList(
id=16, id=17,
name='Gepard', name='Gepard',
cn='杰帕德', cn='杰帕德',
cht='傑帕德', cht='傑帕德',
@ -148,7 +157,7 @@ Gepard = CharacterList(
es='Gepard', es='Gepard',
) )
Guinaifen = CharacterList( Guinaifen = CharacterList(
id=17, id=18,
name='Guinaifen', name='Guinaifen',
cn='桂乃芬', cn='桂乃芬',
cht='桂乃芬', cht='桂乃芬',
@ -157,7 +166,7 @@ Guinaifen = CharacterList(
es='Guinaifen', es='Guinaifen',
) )
Hanya = CharacterList( Hanya = CharacterList(
id=18, id=19,
name='Hanya', name='Hanya',
cn='寒鸦', cn='寒鸦',
cht='寒鴉', cht='寒鴉',
@ -166,7 +175,7 @@ Hanya = CharacterList(
es='Hanya', es='Hanya',
) )
Herta = CharacterList( Herta = CharacterList(
id=19, id=20,
name='Herta', name='Herta',
cn='黑塔', cn='黑塔',
cht='黑塔', cht='黑塔',
@ -175,7 +184,7 @@ Herta = CharacterList(
es='Herta', es='Herta',
) )
Himeko = CharacterList( Himeko = CharacterList(
id=20, id=21,
name='Himeko', name='Himeko',
cn='姬子', cn='姬子',
cht='姬子', cht='姬子',
@ -184,7 +193,7 @@ Himeko = CharacterList(
es='Himeko', es='Himeko',
) )
Hook = CharacterList( Hook = CharacterList(
id=21, id=22,
name='Hook', name='Hook',
cn='虎克', cn='虎克',
cht='虎克', cht='虎克',
@ -193,7 +202,7 @@ Hook = CharacterList(
es='Hook', es='Hook',
) )
Huohuo = CharacterList( Huohuo = CharacterList(
id=22, id=23,
name='Huohuo', name='Huohuo',
cn='藿藿', cn='藿藿',
cht='藿藿', cht='藿藿',
@ -202,7 +211,7 @@ Huohuo = CharacterList(
es='Huohuo', es='Huohuo',
) )
JingYuan = CharacterList( JingYuan = CharacterList(
id=23, id=24,
name='JingYuan', name='JingYuan',
cn='景元', cn='景元',
cht='景元', cht='景元',
@ -211,7 +220,7 @@ JingYuan = CharacterList(
es='Jing Yuan', es='Jing Yuan',
) )
Jingliu = CharacterList( Jingliu = CharacterList(
id=24, id=25,
name='Jingliu', name='Jingliu',
cn='镜流', cn='镜流',
cht='鏡流', cht='鏡流',
@ -220,7 +229,7 @@ Jingliu = CharacterList(
es='Jingliu', es='Jingliu',
) )
Kafka = CharacterList( Kafka = CharacterList(
id=25, id=26,
name='Kafka', name='Kafka',
cn='卡芙卡', cn='卡芙卡',
cht='卡芙卡', cht='卡芙卡',
@ -229,7 +238,7 @@ Kafka = CharacterList(
es='Kafka', es='Kafka',
) )
Luka = CharacterList( Luka = CharacterList(
id=26, id=27,
name='Luka', name='Luka',
cn='卢卡', cn='卢卡',
cht='盧卡', cht='盧卡',
@ -238,7 +247,7 @@ Luka = CharacterList(
es='Luka', es='Luka',
) )
Luocha = CharacterList( Luocha = CharacterList(
id=27, id=28,
name='Luocha', name='Luocha',
cn='罗刹', cn='罗刹',
cht='羅剎', cht='羅剎',
@ -247,7 +256,7 @@ Luocha = CharacterList(
es='Luocha', es='Luocha',
) )
Lynx = CharacterList( Lynx = CharacterList(
id=28, id=29,
name='Lynx', name='Lynx',
cn='玲可', cn='玲可',
cht='玲可', cht='玲可',
@ -256,7 +265,7 @@ Lynx = CharacterList(
es='Lynx', es='Lynx',
) )
March7th = CharacterList( March7th = CharacterList(
id=29, id=30,
name='March7th', name='March7th',
cn='三月七', cn='三月七',
cht='三月七', cht='三月七',
@ -265,7 +274,7 @@ March7th = CharacterList(
es='Siete de Marzo', es='Siete de Marzo',
) )
Misha = CharacterList( Misha = CharacterList(
id=30, id=31,
name='Misha', name='Misha',
cn='米沙', cn='米沙',
cht='米沙', cht='米沙',
@ -274,7 +283,7 @@ Misha = CharacterList(
es='Misha', es='Misha',
) )
Natasha = CharacterList( Natasha = CharacterList(
id=31, id=32,
name='Natasha', name='Natasha',
cn='娜塔莎', cn='娜塔莎',
cht='娜塔莎', cht='娜塔莎',
@ -283,7 +292,7 @@ Natasha = CharacterList(
es='Natasha', es='Natasha',
) )
Pela = CharacterList( Pela = CharacterList(
id=32, id=33,
name='Pela', name='Pela',
cn='佩拉', cn='佩拉',
cht='佩拉', cht='佩拉',
@ -292,7 +301,7 @@ Pela = CharacterList(
es='Pela', es='Pela',
) )
Qingque = CharacterList( Qingque = CharacterList(
id=33, id=34,
name='Qingque', name='Qingque',
cn='青雀', cn='青雀',
cht='青雀', cht='青雀',
@ -300,8 +309,17 @@ Qingque = CharacterList(
jp='青雀', jp='青雀',
es='Qingque', es='Qingque',
) )
Robin = CharacterList(
id=35,
name='Robin',
cn='知更鸟',
cht='知更鳥',
en='Robin',
jp='ロビン',
es='Robin',
)
RuanMei = CharacterList( RuanMei = CharacterList(
id=34, id=36,
name='RuanMei', name='RuanMei',
cn='阮•梅', cn='阮•梅',
cht='阮•梅', cht='阮•梅',
@ -310,7 +328,7 @@ RuanMei = CharacterList(
es='Ruan Mei', es='Ruan Mei',
) )
Sampo = CharacterList( Sampo = CharacterList(
id=35, id=37,
name='Sampo', name='Sampo',
cn='桑博', cn='桑博',
cht='桑博', cht='桑博',
@ -319,7 +337,7 @@ Sampo = CharacterList(
es='Sampo', es='Sampo',
) )
Seele = CharacterList( Seele = CharacterList(
id=36, id=38,
name='Seele', name='Seele',
cn='希儿', cn='希儿',
cht='希兒', cht='希兒',
@ -328,7 +346,7 @@ Seele = CharacterList(
es='Seele', es='Seele',
) )
Serval = CharacterList( Serval = CharacterList(
id=37, id=39,
name='Serval', name='Serval',
cn='希露瓦', cn='希露瓦',
cht='希露瓦', cht='希露瓦',
@ -337,7 +355,7 @@ Serval = CharacterList(
es='Serval', es='Serval',
) )
SilverWolf = CharacterList( SilverWolf = CharacterList(
id=38, id=40,
name='SilverWolf', name='SilverWolf',
cn='银狼', cn='银狼',
cht='銀狼', cht='銀狼',
@ -346,7 +364,7 @@ SilverWolf = CharacterList(
es='Silver Wolf', es='Silver Wolf',
) )
Sparkle = CharacterList( Sparkle = CharacterList(
id=39, id=41,
name='Sparkle', name='Sparkle',
cn='花火', cn='花火',
cht='花火', cht='花火',
@ -355,7 +373,7 @@ Sparkle = CharacterList(
es='Sparkle', es='Sparkle',
) )
Sushang = CharacterList( Sushang = CharacterList(
id=40, id=42,
name='Sushang', name='Sushang',
cn='素裳', cn='素裳',
cht='素裳', cht='素裳',
@ -364,7 +382,7 @@ Sushang = CharacterList(
es='Sushang', es='Sushang',
) )
Tingyun = CharacterList( Tingyun = CharacterList(
id=41, id=43,
name='Tingyun', name='Tingyun',
cn='停云', cn='停云',
cht='停雲', cht='停雲',
@ -373,7 +391,7 @@ Tingyun = CharacterList(
es='Tingyun', es='Tingyun',
) )
TopazNumby = CharacterList( TopazNumby = CharacterList(
id=42, id=44,
name='TopazNumby', name='TopazNumby',
cn='托帕&账账', cn='托帕&账账',
cht='托帕&帳帳', cht='托帕&帳帳',
@ -382,7 +400,7 @@ TopazNumby = CharacterList(
es='Topaz y Conti', es='Topaz y Conti',
) )
TrailblazerDestruction = CharacterList( TrailblazerDestruction = CharacterList(
id=43, id=45,
name='TrailblazerDestruction', name='TrailblazerDestruction',
cn='Trailblazer•毁灭', cn='Trailblazer•毁灭',
cht='Trailblazer•毀滅', cht='Trailblazer•毀滅',
@ -390,8 +408,17 @@ TrailblazerDestruction = CharacterList(
jp='Trailblazer・壊滅', jp='Trailblazer・壊滅',
es='Trailblazer: Destrucción', es='Trailblazer: Destrucción',
) )
TrailblazerHarmony = CharacterList(
id=46,
name='TrailblazerHarmony',
cn='Trailblazer•同谐',
cht='Trailblazer•同諧',
en='Trailblazer: Harmony',
jp='Trailblazer・調和',
es='Trailblazer: Armonía',
)
TrailblazerPreservation = CharacterList( TrailblazerPreservation = CharacterList(
id=44, id=47,
name='TrailblazerPreservation', name='TrailblazerPreservation',
cn='Trailblazer•存护', cn='Trailblazer•存护',
cht='Trailblazer•存護', cht='Trailblazer•存護',
@ -400,7 +427,7 @@ TrailblazerPreservation = CharacterList(
es='Trailblazer: Conservación', es='Trailblazer: Conservación',
) )
Welt = CharacterList( Welt = CharacterList(
id=45, id=48,
name='Welt', name='Welt',
cn='瓦尔特', cn='瓦尔特',
cht='瓦爾特', cht='瓦爾特',
@ -409,7 +436,7 @@ Welt = CharacterList(
es='Welt', es='Welt',
) )
Xueyi = CharacterList( Xueyi = CharacterList(
id=46, id=49,
name='Xueyi', name='Xueyi',
cn='雪衣', cn='雪衣',
cht='雪衣', cht='雪衣',
@ -418,7 +445,7 @@ Xueyi = CharacterList(
es='Xueyi', es='Xueyi',
) )
Yanqing = CharacterList( Yanqing = CharacterList(
id=47, id=50,
name='Yanqing', name='Yanqing',
cn='彦卿', cn='彦卿',
cht='彥卿', cht='彥卿',
@ -427,7 +454,7 @@ Yanqing = CharacterList(
es='Yanqing', es='Yanqing',
) )
Yukong = CharacterList( Yukong = CharacterList(
id=48, id=51,
name='Yukong', name='Yukong',
cn='驭空', cn='驭空',
cht='馭空', cht='馭空',

View File

@ -17,30 +17,30 @@ COMBAT_SUPPORT_LIST = ButtonWrapper(
name='COMBAT_SUPPORT_LIST', name='COMBAT_SUPPORT_LIST',
share=Button( share=Button(
file='./assets/share/combat/support/COMBAT_SUPPORT_LIST.png', file='./assets/share/combat/support/COMBAT_SUPPORT_LIST.png',
area=(67, 645, 93, 669), area=(39, 645, 65, 669),
search=(47, 625, 113, 689), search=(19, 625, 85, 689),
color=(204, 205, 205), color=(204, 206, 206),
button=(67, 645, 93, 669), button=(39, 645, 65, 669),
), ),
) )
COMBAT_SUPPORT_LIST_GRID = ButtonWrapper( COMBAT_SUPPORT_LIST_GRID = ButtonWrapper(
name='COMBAT_SUPPORT_LIST_GRID', name='COMBAT_SUPPORT_LIST_GRID',
share=Button( share=Button(
file='./assets/share/combat/support/COMBAT_SUPPORT_LIST_GRID.png', file='./assets/share/combat/support/COMBAT_SUPPORT_LIST_GRID.png',
area=(64, 158, 155, 627), area=(36, 148, 128, 629),
search=(44, 138, 175, 647), search=(16, 128, 148, 649),
color=(117, 107, 124), color=(135, 124, 133),
button=(64, 158, 155, 627), button=(36, 148, 128, 629),
), ),
) )
COMBAT_SUPPORT_LIST_SCROLL = ButtonWrapper( COMBAT_SUPPORT_LIST_SCROLL = ButtonWrapper(
name='COMBAT_SUPPORT_LIST_SCROLL', name='COMBAT_SUPPORT_LIST_SCROLL',
share=Button( share=Button(
file='./assets/share/combat/support/COMBAT_SUPPORT_LIST_SCROLL.png', file='./assets/share/combat/support/COMBAT_SUPPORT_LIST_SCROLL.png',
area=(448, 156, 452, 592), area=(472, 162, 476, 598),
search=(428, 136, 472, 612), search=(452, 142, 496, 618),
color=(130, 133, 153), color=(150, 151, 166),
button=(448, 156, 452, 592), button=(472, 162, 476, 598),
), ),
) )
COMBAT_SUPPORT_SELECTED = ButtonWrapper( COMBAT_SUPPORT_SELECTED = ButtonWrapper(
@ -59,28 +59,28 @@ SUPPORT_SELECTED = ButtonWrapper(
Button( Button(
file='./assets/share/combat/support/SUPPORT_SELECTED.png', file='./assets/share/combat/support/SUPPORT_SELECTED.png',
area=(54, 202, 60, 220), area=(54, 202, 60, 220),
search=(40, 146, 68, 628), search=(15, 148, 45, 629),
color=(125, 126, 131), color=(125, 126, 131),
button=(54, 202, 60, 220), button=(54, 202, 60, 220),
), ),
Button( Button(
file='./assets/share/combat/support/SUPPORT_SELECTED.2.png', file='./assets/share/combat/support/SUPPORT_SELECTED.2.png',
area=(53, 547, 59, 565), area=(53, 547, 59, 565),
search=(40, 146, 68, 628), search=(15, 148, 45, 629),
color=(144, 146, 147), color=(144, 146, 147),
button=(53, 547, 59, 565), button=(53, 547, 59, 565),
), ),
Button( Button(
file='./assets/share/combat/support/SUPPORT_SELECTED.3.png', file='./assets/share/combat/support/SUPPORT_SELECTED.3.png',
area=(54, 432, 61, 450), area=(54, 432, 61, 450),
search=(40, 146, 68, 628), search=(15, 148, 45, 629),
color=(139, 139, 141), color=(139, 139, 141),
button=(54, 432, 61, 450), button=(54, 432, 61, 450),
), ),
Button( Button(
file='./assets/share/combat/support/SUPPORT_SELECTED.4.png', file='./assets/share/combat/support/SUPPORT_SELECTED.4.png',
area=(52, 417, 59, 435), area=(52, 417, 59, 435),
search=(40, 146, 68, 628), search=(15, 148, 45, 629),
color=(140, 138, 145), color=(140, 138, 145),
button=(52, 417, 59, 435), button=(52, 417, 59, 435),
), ),

View File

@ -98,7 +98,7 @@ Calyx_Crimson_Destruction_Herta_StorageZone = DungeonList(
name='Calyx_Crimson_Destruction_Herta_StorageZone', name='Calyx_Crimson_Destruction_Herta_StorageZone',
cn='毁灭之蕾•拟造花萼(赤)', cn='毁灭之蕾•拟造花萼(赤)',
cht='毀滅之蕾•擬造花萼(赤)', cht='毀滅之蕾•擬造花萼(赤)',
en='Bud of Destruction', en='Calyx (Crimson): Bud of Destruction',
jp='疑似花萼(赤)・壊滅の蕾', jp='疑似花萼(赤)・壊滅の蕾',
es='Flor de la Destrucción', es='Flor de la Destrucción',
plane_id=2000201, plane_id=2000201,
@ -108,7 +108,7 @@ Calyx_Crimson_Destruction_Luofu_ScalegorgeWaterscape = DungeonList(
name='Calyx_Crimson_Destruction_Luofu_ScalegorgeWaterscape', name='Calyx_Crimson_Destruction_Luofu_ScalegorgeWaterscape',
cn='毁灭之蕾•拟造花萼(赤)', cn='毁灭之蕾•拟造花萼(赤)',
cht='毀滅之蕾•擬造花萼(赤)', cht='毀滅之蕾•擬造花萼(赤)',
en='Bud of Destruction', en='Calyx (Crimson): Bud of Destruction',
jp='疑似花萼(赤)・壊滅の蕾', jp='疑似花萼(赤)・壊滅の蕾',
es='Flor de la Destrucción', es='Flor de la Destrucción',
plane_id=2023201, plane_id=2023201,
@ -118,7 +118,7 @@ Calyx_Crimson_Preservation_Herta_SupplyZone = DungeonList(
name='Calyx_Crimson_Preservation_Herta_SupplyZone', name='Calyx_Crimson_Preservation_Herta_SupplyZone',
cn='存护之蕾•拟造花萼(赤)', cn='存护之蕾•拟造花萼(赤)',
cht='存護之蕾•擬造花萼(赤)', cht='存護之蕾•擬造花萼(赤)',
en='Bud of Preservation', en='Calyx (Crimson): Bud of Preservation',
jp='疑似花萼(赤)・存護の蕾', jp='疑似花萼(赤)・存護の蕾',
es='Flor de la Conservación', es='Flor de la Conservación',
plane_id=2000301, plane_id=2000301,
@ -128,7 +128,7 @@ Calyx_Crimson_Preservation_Penacony_ClockStudiosThemePark = DungeonList(
name='Calyx_Crimson_Preservation_Penacony_ClockStudiosThemePark', name='Calyx_Crimson_Preservation_Penacony_ClockStudiosThemePark',
cn='存护之蕾•拟造花萼(赤)', cn='存护之蕾•拟造花萼(赤)',
cht='存護之蕾•擬造花萼(赤)', cht='存護之蕾•擬造花萼(赤)',
en='Bud of Preservation', en='Calyx (Crimson): Bud of Preservation',
jp='疑似花萼(赤)・存護の蕾', jp='疑似花萼(赤)・存護の蕾',
es='Flor de la Conservación', es='Flor de la Conservación',
plane_id=2032101, plane_id=2032101,
@ -138,383 +138,413 @@ Calyx_Crimson_The_Hunt_Jarilo_OutlyingSnowPlains = DungeonList(
name='Calyx_Crimson_The_Hunt_Jarilo_OutlyingSnowPlains', name='Calyx_Crimson_The_Hunt_Jarilo_OutlyingSnowPlains',
cn='巡猎之蕾•拟造花萼(赤)', cn='巡猎之蕾•拟造花萼(赤)',
cht='巡獵之蕾•擬造花萼(赤)', cht='巡獵之蕾•擬造花萼(赤)',
en='Bud of The Hunt', en='Calyx (Crimson): Bud of The Hunt',
jp='疑似花萼(赤)・巡狩の蕾', jp='疑似花萼(赤)・巡狩の蕾',
es='Flor de la Cacería', es='Flor de la Cacería',
plane_id=2010101, plane_id=2010101,
) )
Calyx_Crimson_Abundance_Jarilo_BackwaterPass = DungeonList( Calyx_Crimson_The_Hunt_Penacony_SoulGladScorchsandAuditionVenue = DungeonList(
id=15, id=15,
name='Calyx_Crimson_The_Hunt_Penacony_SoulGladScorchsandAuditionVenue',
cn='巡猎之蕾•拟造花萼(赤)',
cht='巡獵之蕾•擬造花萼(赤)',
en='Calyx (Crimson): Bud of The Hunt',
jp='疑似花萼(赤)・巡狩の蕾',
es='Cáliz (carmesí): Flor de la Cacería',
plane_id=2033101,
)
Calyx_Crimson_Abundance_Jarilo_BackwaterPass = DungeonList(
id=16,
name='Calyx_Crimson_Abundance_Jarilo_BackwaterPass', name='Calyx_Crimson_Abundance_Jarilo_BackwaterPass',
cn='丰饶之蕾•拟造花萼(赤)', cn='丰饶之蕾•拟造花萼(赤)',
cht='豐饒之蕾•擬造花萼(赤)', cht='豐饒之蕾•擬造花萼(赤)',
en='Bud of Abundance', en='Calyx (Crimson): Bud of Abundance',
jp='疑似花萼(赤)・豊穣の蕾', jp='疑似花萼(赤)・豊穣の蕾',
es='Flor de la Abundancia', es='Flor de la Abundancia',
plane_id=2011101, plane_id=2011101,
) )
Calyx_Crimson_Abundance_Luofu_FyxestrollGarden = DungeonList( Calyx_Crimson_Abundance_Luofu_FyxestrollGarden = DungeonList(
id=16, id=17,
name='Calyx_Crimson_Abundance_Luofu_FyxestrollGarden', name='Calyx_Crimson_Abundance_Luofu_FyxestrollGarden',
cn='丰饶之蕾•拟造花萼(赤)', cn='丰饶之蕾•拟造花萼(赤)',
cht='豐饒之蕾•擬造花萼(赤)', cht='豐饒之蕾•擬造花萼(赤)',
en='Bud of Abundance', en='Calyx (Crimson): Bud of Abundance',
jp='疑似花萼(赤)・豊穣の蕾', jp='疑似花萼(赤)・豊穣の蕾',
es='Flor de la Abundancia', es='Flor de la Abundancia',
plane_id=2022301, plane_id=2022301,
) )
Calyx_Crimson_Erudition_Jarilo_RivetTown = DungeonList( Calyx_Crimson_Erudition_Jarilo_RivetTown = DungeonList(
id=17, id=18,
name='Calyx_Crimson_Erudition_Jarilo_RivetTown', name='Calyx_Crimson_Erudition_Jarilo_RivetTown',
cn='智识之蕾•拟造花萼(赤)', cn='智识之蕾•拟造花萼(赤)',
cht='智識之蕾•擬造花萼(赤)', cht='智識之蕾•擬造花萼(赤)',
en='Bud of Erudition', en='Calyx (Crimson): Bud of Erudition',
jp='疑似花萼(赤)・知恵の蕾', jp='疑似花萼(赤)・知恵の蕾',
es='Flor de la Erudición', es='Flor de la Erudición',
plane_id=2012201, plane_id=2012201,
) )
Calyx_Crimson_Harmony_Jarilo_RobotSettlement = DungeonList( Calyx_Crimson_Harmony_Jarilo_RobotSettlement = DungeonList(
id=18, id=19,
name='Calyx_Crimson_Harmony_Jarilo_RobotSettlement', name='Calyx_Crimson_Harmony_Jarilo_RobotSettlement',
cn='同谐之蕾•拟造花萼(赤)', cn='同谐之蕾•拟造花萼(赤)',
cht='同諧之蕾•擬造花萼(赤)', cht='同諧之蕾•擬造花萼(赤)',
en='Bud of Harmony', en='Calyx (Crimson): Bud of Harmony',
jp='疑似花萼(赤)・調和の蕾', jp='疑似花萼(赤)・調和の蕾',
es='Flor de la Armonía', es='Flor de la Armonía',
plane_id=2012301, plane_id=2012301,
) )
Calyx_Crimson_Harmony_Penacony_TheReverieDreamscape = DungeonList( Calyx_Crimson_Harmony_Penacony_TheReverieDreamscape = DungeonList(
id=19, id=20,
name='Calyx_Crimson_Harmony_Penacony_TheReverieDreamscape', name='Calyx_Crimson_Harmony_Penacony_TheReverieDreamscape',
cn='同谐之蕾•拟造花萼(赤)', cn='同谐之蕾•拟造花萼(赤)',
cht='同諧之蕾•擬造花萼(赤)', cht='同諧之蕾•擬造花萼(赤)',
en='Bud of Harmony', en='Calyx (Crimson): Bud of Harmony',
jp='疑似花萼(赤)・調和の蕾', jp='疑似花萼(赤)・調和の蕾',
es='Flor de la Armonía', es='Flor de la Armonía',
plane_id=2031101, plane_id=2031101,
) )
Calyx_Crimson_Nihility_Jarilo_GreatMine = DungeonList( Calyx_Crimson_Nihility_Jarilo_GreatMine = DungeonList(
id=20, id=21,
name='Calyx_Crimson_Nihility_Jarilo_GreatMine', name='Calyx_Crimson_Nihility_Jarilo_GreatMine',
cn='虚无之蕾•拟造花萼(赤)', cn='虚无之蕾•拟造花萼(赤)',
cht='虛無之蕾•擬造花萼(赤)', cht='虛無之蕾•擬造花萼(赤)',
en='Bud of Nihility', en='Calyx (Crimson): Bud of Nihility',
jp='疑似花萼(赤)・虚無の蕾', jp='疑似花萼(赤)・虚無の蕾',
es='Flor de la Nihilidad', es='Flor de la Nihilidad',
plane_id=2012101, plane_id=2012101,
) )
Calyx_Crimson_Nihility_Luofu_AlchemyCommission = DungeonList( Calyx_Crimson_Nihility_Luofu_AlchemyCommission = DungeonList(
id=21, id=22,
name='Calyx_Crimson_Nihility_Luofu_AlchemyCommission', name='Calyx_Crimson_Nihility_Luofu_AlchemyCommission',
cn='虚无之蕾•拟造花萼(赤)', cn='虚无之蕾•拟造花萼(赤)',
cht='虛無之蕾•擬造花萼(赤)', cht='虛無之蕾•擬造花萼(赤)',
en='Bud of Nihility', en='Calyx (Crimson): Bud of Nihility',
jp='疑似花萼(赤)・虚無の蕾', jp='疑似花萼(赤)・虚無の蕾',
es='Flor de la Nihilidad', es='Flor de la Nihilidad',
plane_id=2023101, plane_id=2023101,
) )
Stagnant_Shadow_Quanta = DungeonList( Stagnant_Shadow_Quanta = DungeonList(
id=22, id=23,
name='Stagnant_Shadow_Quanta', name='Stagnant_Shadow_Quanta',
cn='空海之形•凝滞虚影', cn='空海之形•凝滞虚影',
cht='空海之形•凝滯虛影', cht='空海之形•凝滯虛影',
en='Shape of Quanta', en='Stagnant Shadow: Shape of Quanta',
jp='凝結虚影・虚海の形', jp='凝結虚影・虚海の形',
es='Forma del cuanto', es='Forma del cuanto',
plane_id=2000101, plane_id=2000101,
) )
Stagnant_Shadow_Gust = DungeonList( Stagnant_Shadow_Gust = DungeonList(
id=23, id=24,
name='Stagnant_Shadow_Gust', name='Stagnant_Shadow_Gust',
cn='巽风之形•凝滞虚影', cn='巽风之形•凝滞虚影',
cht='巽風之形•凝滯虛影', cht='巽風之形•凝滯虛影',
en='Shape of Gust', en='Stagnant Shadow: Shape of Gust',
jp='凝結虚影・薫風の形', jp='凝結虚影・薫風の形',
es='Forma del aire', es='Forma del aire',
plane_id=2012201, plane_id=2012201,
) )
Stagnant_Shadow_Fulmination = DungeonList( Stagnant_Shadow_Fulmination = DungeonList(
id=24, id=25,
name='Stagnant_Shadow_Fulmination', name='Stagnant_Shadow_Fulmination',
cn='鸣雷之形•凝滞虚影', cn='鸣雷之形•凝滞虚影',
cht='鳴雷之形•凝滯虛影', cht='鳴雷之形•凝滯虛影',
en='Shape of Fulmination', en='Stagnant Shadow: Shape of Fulmination',
jp='凝結虚影・鳴雷の形', jp='凝結虚影・鳴雷の形',
es='Forma del trueno', es='Forma del trueno',
plane_id=2013201, plane_id=2013201,
) )
Stagnant_Shadow_Blaze = DungeonList( Stagnant_Shadow_Blaze = DungeonList(
id=25, id=26,
name='Stagnant_Shadow_Blaze', name='Stagnant_Shadow_Blaze',
cn='炎华之形•凝滞虚影', cn='炎华之形•凝滞虚影',
cht='炎華之形•凝滯虛影', cht='炎華之形•凝滯虛影',
en='Shape of Blaze', en='Stagnant Shadow: Shape of Blaze',
jp='凝結虚影・炎華の形', jp='凝結虚影・炎華の形',
es='Forma de las llamas', es='Forma de las llamas',
plane_id=2013101, plane_id=2013101,
) )
Stagnant_Shadow_Spike = DungeonList( Stagnant_Shadow_Spike = DungeonList(
id=26, id=27,
name='Stagnant_Shadow_Spike', name='Stagnant_Shadow_Spike',
cn='锋芒之形•凝滞虚影', cn='锋芒之形•凝滞虚影',
cht='鋒芒之形•凝滯虛影', cht='鋒芒之形•凝滯虛影',
en='Shape of Spike', en='Stagnant Shadow: Shape of Spike',
jp='凝結虚影・切先の形', jp='凝結虚影・切先の形',
es='Forma afilada', es='Forma afilada',
plane_id=2012101, plane_id=2012101,
) )
Stagnant_Shadow_Rime = DungeonList( Stagnant_Shadow_Rime = DungeonList(
id=27, id=28,
name='Stagnant_Shadow_Rime', name='Stagnant_Shadow_Rime',
cn='霜晶之形•凝滞虚影', cn='霜晶之形•凝滞虚影',
cht='霜晶之形•凝滯虛影', cht='霜晶之形•凝滯虛影',
en='Shape of Rime', en='Stagnant Shadow: Shape of Rime',
jp='凝結虚影・霜晶の形', jp='凝結虚影・霜晶の形',
es='Forma de la escarcha', es='Forma de la escarcha',
plane_id=2013201, plane_id=2013201,
) )
Stagnant_Shadow_Mirage = DungeonList( Stagnant_Shadow_Mirage = DungeonList(
id=28, id=29,
name='Stagnant_Shadow_Mirage', name='Stagnant_Shadow_Mirage',
cn='幻光之形•凝滞虚影', cn='幻光之形•凝滞虚影',
cht='幻光之形•凝滯虛影', cht='幻光之形•凝滯虛影',
en='Shape of Mirage', en='Stagnant Shadow: Shape of Mirage',
jp='凝結虚影・幻光の形', jp='凝結虚影・幻光の形',
es='Forma del espejismo', es='Forma del espejismo',
plane_id=2011101, plane_id=2011101,
) )
Stagnant_Shadow_Icicle = DungeonList( Stagnant_Shadow_Icicle = DungeonList(
id=29, id=30,
name='Stagnant_Shadow_Icicle', name='Stagnant_Shadow_Icicle',
cn='冰棱之形•凝滞虚影', cn='冰棱之形•凝滞虚影',
cht='冰稜之形•凝滯虛影', cht='冰稜之形•凝滯虛影',
en='Shape of Icicle', en='Stagnant Shadow: Shape of Icicle',
jp='凝結虚影・氷柱の形', jp='凝結虚影・氷柱の形',
es='Forma del témpano', es='Forma del témpano',
plane_id=2021101, plane_id=2021101,
) )
Stagnant_Shadow_Doom = DungeonList( Stagnant_Shadow_Doom = DungeonList(
id=30, id=31,
name='Stagnant_Shadow_Doom', name='Stagnant_Shadow_Doom',
cn='震厄之形•凝滞虚影', cn='震厄之形•凝滞虚影',
cht='震厄之形•凝滯虛影', cht='震厄之形•凝滯虛影',
en='Shape of Doom', en='Stagnant Shadow: Shape of Doom',
jp='凝結虚影・震厄の形', jp='凝結虚影・震厄の形',
es='Forma de la perdición', es='Forma de la perdición',
plane_id=2021201, plane_id=2021201,
) )
Stagnant_Shadow_Puppetry = DungeonList( Stagnant_Shadow_Puppetry = DungeonList(
id=31, id=32,
name='Stagnant_Shadow_Puppetry', name='Stagnant_Shadow_Puppetry',
cn='偃偶之形•凝滞虚影', cn='偃偶之形•凝滞虚影',
cht='偃偶之形•凝滯虛影', cht='偃偶之形•凝滯虛影',
en='Shape of Puppetry', en='Stagnant Shadow: Shape of Puppetry',
jp='凝結虚影・傀儡の形', jp='凝結虚影・傀儡の形',
es='Forma de las marionetas', es='Forma de las marionetas',
plane_id=2022201, plane_id=2022201,
) )
Stagnant_Shadow_Abomination = DungeonList( Stagnant_Shadow_Abomination = DungeonList(
id=32, id=33,
name='Stagnant_Shadow_Abomination', name='Stagnant_Shadow_Abomination',
cn='孽兽之形•凝滞虚影', cn='孽兽之形•凝滞虚影',
cht='孽獸之形•凝滯虛影', cht='孽獸之形•凝滯虛影',
en='Shape of Abomination', en='Stagnant Shadow: Shape of Abomination',
jp='凝結虚影・厄獣の形', jp='凝結虚影・厄獣の形',
es='Forma de la abominación', es='Forma de la abominación',
plane_id=2023201, plane_id=2023201,
) )
Stagnant_Shadow_Scorch = DungeonList( Stagnant_Shadow_Scorch = DungeonList(
id=33, id=34,
name='Stagnant_Shadow_Scorch', name='Stagnant_Shadow_Scorch',
cn='燔灼之形•凝滞虚影', cn='燔灼之形•凝滞虚影',
cht='燔灼之形•凝滯虛影', cht='燔灼之形•凝滯虛影',
en='Shape of Scorch', en='Stagnant Shadow: Shape of Scorch',
jp='凝結虚影・燔灼の形', jp='凝結虚影・燔灼の形',
es='Forma abrasada', es='Forma abrasada',
plane_id=2012101, plane_id=2012101,
) )
Stagnant_Shadow_Celestial = DungeonList( Stagnant_Shadow_Celestial = DungeonList(
id=34, id=35,
name='Stagnant_Shadow_Celestial', name='Stagnant_Shadow_Celestial',
cn='天人之形•凝滞虚影', cn='天人之形•凝滞虚影',
cht='天人之形•凝滯虛影', cht='天人之形•凝滯虛影',
en='Shape of Celestial', en='Stagnant Shadow: Shape of Celestial',
jp='凝結虚影・天人の形', jp='凝結虚影・天人の形',
es='Forma de lo celestial', es='Forma de lo celestial',
plane_id=2023101, plane_id=2023101,
) )
Stagnant_Shadow_Perdition = DungeonList( Stagnant_Shadow_Perdition = DungeonList(
id=35, id=36,
name='Stagnant_Shadow_Perdition', name='Stagnant_Shadow_Perdition',
cn='幽府之形•凝滞虚影', cn='幽府之形•凝滞虚影',
cht='幽府之形•凝滯虛影', cht='幽府之形•凝滯虛影',
en='Shape of Perdition', en='Stagnant Shadow: Shape of Perdition',
jp='凝結虚影・幽府の形', jp='凝結虚影・幽府の形',
es='Forma del aislamiento', es='Forma del aislamiento',
plane_id=2022301, plane_id=2022301,
) )
Stagnant_Shadow_Nectar = DungeonList( Stagnant_Shadow_Nectar = DungeonList(
id=36, id=37,
name='Stagnant_Shadow_Nectar', name='Stagnant_Shadow_Nectar',
cn='冰酿之形•凝滞虚影', cn='冰酿之形•凝滞虚影',
cht='冰釀之形•凝滯虛影', cht='冰釀之形•凝滯虛影',
en='Shape of Nectar', en='Stagnant Shadow: Shape of Nectar',
jp='凝結虚影・氷醸の形', jp='凝結虚影・氷醸の形',
es='Forma del néctar', es='Forma del néctar',
plane_id=2031101, plane_id=2031101,
) )
Stagnant_Shadow_Roast = DungeonList( Stagnant_Shadow_Roast = DungeonList(
id=37, id=38,
name='Stagnant_Shadow_Roast', name='Stagnant_Shadow_Roast',
cn='焦炙之形•凝滞虚影', cn='焦炙之形•凝滞虚影',
cht='焦炙之形•凝滯虛影', cht='焦炙之形•凝滯虛影',
en='Shape of Roast', en='Stagnant Shadow: Shape of Roast',
jp='凝結虚影・焦灼の形', jp='凝結虚影・焦灼の形',
es='Forma del agostamiento', es='Forma del agostamiento',
plane_id=2031301, plane_id=2031301,
) )
Stagnant_Shadow_Ire = DungeonList( Stagnant_Shadow_Ire = DungeonList(
id=38, id=39,
name='Stagnant_Shadow_Ire', name='Stagnant_Shadow_Ire',
cn='嗔怒之形•凝滞虚影', cn='嗔怒之形•凝滞虚影',
cht='嗔怒之形•凝滯虛影', cht='嗔怒之形•凝滯虛影',
en='Shape of Ire', en='Stagnant Shadow: Shape of Ire',
jp='凝結虚影・憤怒の形', jp='凝結虚影・憤怒の形',
es='Forma de la ira', es='Forma de la ira',
plane_id=2032201, plane_id=2032201,
) )
Stagnant_Shadow_Duty = DungeonList(
id=40,
name='Stagnant_Shadow_Duty',
cn='职司之形•凝滞虚影',
cht='職司之形•凝滯虛影',
en='Stagnant Shadow: Shape of Duty',
jp='凝結虚影・職掌の形',
es='Sombra paralizada: Forma del deber',
plane_id=2032101,
)
Cavern_of_Corrosion_Path_of_Gelid_Wind = DungeonList( Cavern_of_Corrosion_Path_of_Gelid_Wind = DungeonList(
id=39, id=41,
name='Cavern_of_Corrosion_Path_of_Gelid_Wind', name='Cavern_of_Corrosion_Path_of_Gelid_Wind',
cn='霜风之径•侵蚀隧洞', cn='霜风之径•侵蚀隧洞',
cht='霜風之徑•侵蝕隧洞', cht='霜風之徑•侵蝕隧洞',
en='Path of Gelid Wind', en='Cavern of Corrosion: Path of Gelid Wind',
jp='侵蝕トンネル・霜風の路', jp='侵蝕トンネル・霜風の路',
es='Senda del viento gélido', es='Senda del viento gélido',
plane_id=2000201, plane_id=2000201,
) )
Cavern_of_Corrosion_Path_of_Jabbing_Punch = DungeonList( Cavern_of_Corrosion_Path_of_Jabbing_Punch = DungeonList(
id=40, id=42,
name='Cavern_of_Corrosion_Path_of_Jabbing_Punch', name='Cavern_of_Corrosion_Path_of_Jabbing_Punch',
cn='迅拳之径•侵蚀隧洞', cn='迅拳之径•侵蚀隧洞',
cht='迅拳之徑•侵蝕隧洞', cht='迅拳之徑•侵蝕隧洞',
en='Path of Jabbing Punch', en='Cavern of Corrosion: Path of Jabbing Punch',
jp='侵蝕トンネル・迅拳の路', jp='侵蝕トンネル・迅拳の路',
es='Senda de los puños rápidos', es='Senda de los puños rápidos',
plane_id=2013101, plane_id=2013101,
) )
Cavern_of_Corrosion_Path_of_Drifting = DungeonList( Cavern_of_Corrosion_Path_of_Drifting = DungeonList(
id=41, id=43,
name='Cavern_of_Corrosion_Path_of_Drifting', name='Cavern_of_Corrosion_Path_of_Drifting',
cn='漂泊之径•侵蚀隧洞', cn='漂泊之径•侵蚀隧洞',
cht='漂泊之徑•侵蝕隧洞', cht='漂泊之徑•侵蝕隧洞',
en='Path of Drifting', en='Cavern of Corrosion: Path of Drifting',
jp='侵蝕トンネル・漂泊の路', jp='侵蝕トンネル・漂泊の路',
es='Senda de la deriva', es='Senda de la deriva',
plane_id=2013201, plane_id=2013201,
) )
Cavern_of_Corrosion_Path_of_Providence = DungeonList( Cavern_of_Corrosion_Path_of_Providence = DungeonList(
id=42, id=44,
name='Cavern_of_Corrosion_Path_of_Providence', name='Cavern_of_Corrosion_Path_of_Providence',
cn='睿治之径•侵蚀隧洞', cn='睿治之径•侵蚀隧洞',
cht='睿治之徑•侵蝕隧洞', cht='睿治之徑•侵蝕隧洞',
en='Path of Providence', en='Cavern of Corrosion: Path of Providence',
jp='侵蝕トンネル・睿治の路', jp='侵蝕トンネル・睿治の路',
es='Senda de la providencia', es='Senda de la providencia',
plane_id=2013401, plane_id=2013401,
) )
Cavern_of_Corrosion_Path_of_Holy_Hymn = DungeonList( Cavern_of_Corrosion_Path_of_Holy_Hymn = DungeonList(
id=43, id=45,
name='Cavern_of_Corrosion_Path_of_Holy_Hymn', name='Cavern_of_Corrosion_Path_of_Holy_Hymn',
cn='圣颂之径•侵蚀隧洞', cn='圣颂之径•侵蚀隧洞',
cht='聖頌之徑•侵蝕隧洞', cht='聖頌之徑•侵蝕隧洞',
en='Path of Holy Hymn', en='Cavern of Corrosion: Path of Holy Hymn',
jp='侵蝕トンネル・聖頌の路', jp='侵蝕トンネル・聖頌の路',
es='Senda del himno sagrado', es='Senda del himno sagrado',
plane_id=2021101, plane_id=2021101,
) )
Cavern_of_Corrosion_Path_of_Conflagration = DungeonList( Cavern_of_Corrosion_Path_of_Conflagration = DungeonList(
id=44, id=46,
name='Cavern_of_Corrosion_Path_of_Conflagration', name='Cavern_of_Corrosion_Path_of_Conflagration',
cn='野焰之径•侵蚀隧洞', cn='野焰之径•侵蚀隧洞',
cht='野焰之徑•侵蝕隧洞', cht='野焰之徑•侵蝕隧洞',
en='Path of Conflagration', en='Cavern of Corrosion: Path of Conflagration',
jp='侵蝕トンネル・野焔の路', jp='侵蝕トンネル・野焔の路',
es='Senda de la conflagración', es='Senda de la conflagración',
plane_id=2021201, plane_id=2021201,
) )
Cavern_of_Corrosion_Path_of_Elixir_Seekers = DungeonList( Cavern_of_Corrosion_Path_of_Elixir_Seekers = DungeonList(
id=45, id=47,
name='Cavern_of_Corrosion_Path_of_Elixir_Seekers', name='Cavern_of_Corrosion_Path_of_Elixir_Seekers',
cn='药使之径•侵蚀隧洞', cn='药使之径•侵蚀隧洞',
cht='藥使之徑•侵蝕隧洞', cht='藥使之徑•侵蝕隧洞',
en='Path of Elixir Seekers', en='Cavern of Corrosion: Path of Elixir Seekers',
jp='侵蝕トンネル・薬使の路', jp='侵蝕トンネル・薬使の路',
es='Senda de los elixires', es='Senda de los elixires',
plane_id=2023101, plane_id=2023101,
) )
Cavern_of_Corrosion_Path_of_Darkness = DungeonList( Cavern_of_Corrosion_Path_of_Darkness = DungeonList(
id=46, id=48,
name='Cavern_of_Corrosion_Path_of_Darkness', name='Cavern_of_Corrosion_Path_of_Darkness',
cn='幽冥之径•侵蚀隧洞', cn='幽冥之径•侵蚀隧洞',
cht='幽冥之徑•侵蝕隧洞', cht='幽冥之徑•侵蝕隧洞',
en='Path of Darkness', en='Cavern of Corrosion: Path of Darkness',
jp='侵蝕トンネル・幽冥の路', jp='侵蝕トンネル・幽冥の路',
es='Senda de la oscuridad', es='Senda de la oscuridad',
plane_id=2022301, plane_id=2022301,
) )
Cavern_of_Corrosion_Path_of_Dreamdive = DungeonList( Cavern_of_Corrosion_Path_of_Dreamdive = DungeonList(
id=47, id=49,
name='Cavern_of_Corrosion_Path_of_Dreamdive', name='Cavern_of_Corrosion_Path_of_Dreamdive',
cn='梦潜之径•侵蚀隧洞', cn='梦潜之径•侵蚀隧洞',
cht='夢潛之徑•侵蝕隧洞', cht='夢潛之徑•侵蝕隧洞',
en='Path of Dreamdive', en='Cavern of Corrosion: Path of Dreamdive',
jp='侵蝕トンネル・夢潜の路', jp='侵蝕トンネル・夢潜の路',
es='Senda de los sueños', es='Senda de los sueños',
plane_id=2031101, plane_id=2031101,
) )
Echo_of_War_Destruction_Beginning = DungeonList( Echo_of_War_Destruction_Beginning = DungeonList(
id=48, id=50,
name='Echo_of_War_Destruction_Beginning', name='Echo_of_War_Destruction_Beginning',
cn='毁灭的开端•历战余响', cn='毁灭的开端•历战余响',
cht='毀滅的開端•歷戰餘響', cht='毀滅的開端•歷戰餘響',
en="Destruction's Beginning", en="Echo of War: Destruction's Beginning",
jp='歴戦余韻・壊滅の始まり', jp='歴戦余韻・壊滅の始まり',
es='El principio de la Destrucción', es='El principio de la Destrucción',
plane_id=2000301, plane_id=2000301,
) )
Echo_of_War_End_of_the_Eternal_Freeze = DungeonList( Echo_of_War_End_of_the_Eternal_Freeze = DungeonList(
id=49, id=51,
name='Echo_of_War_End_of_the_Eternal_Freeze', name='Echo_of_War_End_of_the_Eternal_Freeze',
cn='寒潮的落幕•历战余响', cn='寒潮的落幕•历战余响',
cht='寒潮的落幕•歷戰餘響', cht='寒潮的落幕•歷戰餘響',
en='End of the Eternal Freeze', en='Echo of War: End of the Eternal Freeze',
jp='歴戦余韻・寒波の幕切れ', jp='歴戦余韻・寒波の幕切れ',
es='El fin del Hielo Eterno', es='El fin del Hielo Eterno',
plane_id=2013401, plane_id=2013401,
) )
Echo_of_War_Divine_Seed = DungeonList( Echo_of_War_Divine_Seed = DungeonList(
id=50, id=52,
name='Echo_of_War_Divine_Seed', name='Echo_of_War_Divine_Seed',
cn='不死的神实•历战余响', cn='不死的神实•历战余响',
cht='不死的神實•歷戰餘響', cht='不死的神實•歷戰餘響',
en='Divine Seed', en='Echo of War: Divine Seed',
jp='歴戦余韻・不死の神実', jp='歴戦余韻・不死の神実',
es='Semilla divina', es='Semilla divina',
plane_id=2023201, plane_id=2023201,
) )
Echo_of_War_Borehole_Planet_Old_Crater = DungeonList( Echo_of_War_Borehole_Planet_Old_Crater = DungeonList(
id=51, id=53,
name='Echo_of_War_Borehole_Planet_Old_Crater', name='Echo_of_War_Borehole_Planet_Old_Crater',
cn='蛀星的旧靥•历战余响', cn='蛀星的旧靥•历战余响',
cht='蛀星的舊靨•歷戰餘響', cht='蛀星的舊靨•歷戰餘響',
en="Borehole Planet's Old Crater", en="Echo of War: Borehole Planet's Old Crater",
jp='歴戦余韻・星を蝕む往日の面影', jp='歴戦余韻・星を蝕む往日の面影',
es='Cráter del planeta devorado', es='Cráter del planeta devorado',
plane_id=2000401, plane_id=2000401,
) )
Echo_of_War_Salutations_of_Ashen_Dreams = DungeonList(
id=54,
name='Echo_of_War_Salutations_of_Ashen_Dreams',
cn='尘梦的赞礼•历战余响',
cht='塵夢的讚禮•歷戰餘響',
en='Echo of War: Salutations of Ashen Dreams',
jp='歴戦余韻・現世の夢の礼賛',
es='Ecos de la guerra: Tributo del sueño ceniciento',
plane_id=2033201,
)
Simulated_Universe_World_1 = DungeonList( Simulated_Universe_World_1 = DungeonList(
id=52, id=55,
name='Simulated_Universe_World_1', name='Simulated_Universe_World_1',
cn='第一世界•模拟宇宙', cn='第一世界•模拟宇宙',
cht='第一世界•模擬宇宙', cht='第一世界•模擬宇宙',
@ -524,7 +554,7 @@ Simulated_Universe_World_1 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_3 = DungeonList( Simulated_Universe_World_3 = DungeonList(
id=53, id=56,
name='Simulated_Universe_World_3', name='Simulated_Universe_World_3',
cn='第三世界•模拟宇宙', cn='第三世界•模拟宇宙',
cht='第三世界•模擬宇宙', cht='第三世界•模擬宇宙',
@ -534,7 +564,7 @@ Simulated_Universe_World_3 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_4 = DungeonList( Simulated_Universe_World_4 = DungeonList(
id=54, id=57,
name='Simulated_Universe_World_4', name='Simulated_Universe_World_4',
cn='第四世界•模拟宇宙', cn='第四世界•模拟宇宙',
cht='第四世界•模擬宇宙', cht='第四世界•模擬宇宙',
@ -544,7 +574,7 @@ Simulated_Universe_World_4 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_5 = DungeonList( Simulated_Universe_World_5 = DungeonList(
id=55, id=58,
name='Simulated_Universe_World_5', name='Simulated_Universe_World_5',
cn='第五世界•模拟宇宙', cn='第五世界•模拟宇宙',
cht='第五世界•模擬宇宙', cht='第五世界•模擬宇宙',
@ -554,7 +584,7 @@ Simulated_Universe_World_5 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_6 = DungeonList( Simulated_Universe_World_6 = DungeonList(
id=56, id=59,
name='Simulated_Universe_World_6', name='Simulated_Universe_World_6',
cn='第六世界•模拟宇宙', cn='第六世界•模拟宇宙',
cht='第六世界•模擬宇宙', cht='第六世界•模擬宇宙',
@ -564,7 +594,7 @@ Simulated_Universe_World_6 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_7 = DungeonList( Simulated_Universe_World_7 = DungeonList(
id=57, id=60,
name='Simulated_Universe_World_7', name='Simulated_Universe_World_7',
cn='第七世界•模拟宇宙', cn='第七世界•模拟宇宙',
cht='第七世界•模擬宇宙', cht='第七世界•模擬宇宙',
@ -574,7 +604,7 @@ Simulated_Universe_World_7 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_8 = DungeonList( Simulated_Universe_World_8 = DungeonList(
id=58, id=61,
name='Simulated_Universe_World_8', name='Simulated_Universe_World_8',
cn='第八世界•模拟宇宙', cn='第八世界•模拟宇宙',
cht='第八世界•模擬宇宙', cht='第八世界•模擬宇宙',
@ -584,7 +614,7 @@ Simulated_Universe_World_8 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_World_9 = DungeonList( Simulated_Universe_World_9 = DungeonList(
id=59, id=62,
name='Simulated_Universe_World_9', name='Simulated_Universe_World_9',
cn='第九世界•模拟宇宙', cn='第九世界•模拟宇宙',
cht='第九世界•模擬宇宙', cht='第九世界•模擬宇宙',
@ -594,7 +624,7 @@ Simulated_Universe_World_9 = DungeonList(
plane_id=100000104, plane_id=100000104,
) )
Simulated_Universe_The_Swarm_Disaster = DungeonList( Simulated_Universe_The_Swarm_Disaster = DungeonList(
id=60, id=63,
name='Simulated_Universe_The_Swarm_Disaster', name='Simulated_Universe_The_Swarm_Disaster',
cn='寰宇蝗灾', cn='寰宇蝗灾',
cht='寰宇蝗災', cht='寰宇蝗災',
@ -604,7 +634,7 @@ Simulated_Universe_The_Swarm_Disaster = DungeonList(
plane_id=-1, plane_id=-1,
) )
Simulated_Universe_Gold_and_Gears = DungeonList( Simulated_Universe_Gold_and_Gears = DungeonList(
id=61, id=64,
name='Simulated_Universe_Gold_and_Gears', name='Simulated_Universe_Gold_and_Gears',
cn='黄金与机械', cn='黄金与机械',
cht='黃金與機械', cht='黃金與機械',
@ -614,7 +644,7 @@ Simulated_Universe_Gold_and_Gears = DungeonList(
plane_id=-1, plane_id=-1,
) )
Memory_of_Chaos = DungeonList( Memory_of_Chaos = DungeonList(
id=62, id=65,
name='Memory_of_Chaos', name='Memory_of_Chaos',
cn='混沌回忆', cn='混沌回忆',
cht='混沌回憶', cht='混沌回憶',
@ -624,7 +654,7 @@ Memory_of_Chaos = DungeonList(
plane_id=-1, plane_id=-1,
) )
The_Voyage_of_Navis_Astriger = DungeonList( The_Voyage_of_Navis_Astriger = DungeonList(
id=63, id=66,
name='The_Voyage_of_Navis_Astriger', name='The_Voyage_of_Navis_Astriger',
cn='天艟求仙迷航录', cn='天艟求仙迷航录',
cht='天艟求仙迷航錄', cht='天艟求仙迷航錄',
@ -634,7 +664,7 @@ The_Voyage_of_Navis_Astriger = DungeonList(
plane_id=-1, plane_id=-1,
) )
The_Last_Vestiges_of_Towering_Citadel = DungeonList( The_Last_Vestiges_of_Towering_Citadel = DungeonList(
id=64, id=67,
name='The_Last_Vestiges_of_Towering_Citadel', name='The_Last_Vestiges_of_Towering_Citadel',
cn='永屹之城遗秘', cn='永屹之城遗秘',
cht='永屹之城遺秘', cht='永屹之城遺秘',

View File

@ -156,3 +156,12 @@ Stagnant_Shadow_Ire = DungeonDetailed(
jp='キャラクター昇格素材:炎(ギャラガー)', jp='キャラクター昇格素材:炎(ギャラガー)',
es='Ascension: Fuego (Gallagher)', es='Ascension: Fuego (Gallagher)',
) )
Stagnant_Shadow_Duty = DungeonDetailed(
id=18,
name='Stagnant_Shadow_Duty',
cn='角色晋阶材料:物理(波提欧 / 知更鸟)',
cht='角色晉階材料:物理(波提歐 / 知更鳥)',
en='Ascension: Physical (Boothill / Robin)',
jp='キャラクター昇格素材:物理(ブートヒル / ロビン)',
es='Ascension: Físico (Boothill / Robin)',
)

View File

@ -487,3 +487,36 @@ Penacony_ClockStudiosThemePark = MapPlane(
world_id=3, world_id=3,
plane_id=2032101, plane_id=2032101,
) )
Penacony_DreamfluxReef = MapPlane(
id=45,
name='Penacony_DreamfluxReef',
cn='流梦礁',
cht='流夢礁',
en='Dreamflux Reef',
jp='ドリームリーフ',
es='Arrecife Flujosueño',
world_id=3,
plane_id=1030401,
)
Penacony_SoulGladScorchsandAuditionVenue = MapPlane(
id=46,
name='Penacony_SoulGladScorchsandAuditionVenue',
cn='苏乐达™热砂海选会场',
cht='蘇樂達™熱砂海選會場',
en='SoulGlad™ Scorchsand Audition Venue',
jp='スラーダ™熱砂オーディション会場',
es='Recinto de las Audiciones FelizAlma™ en la Arena Ardiente',
world_id=3,
plane_id=2033101,
)
Penacony_PenaconyGrandTheater = MapPlane(
id=47,
name='Penacony_PenaconyGrandTheater',
cn='匹诺康尼大剧院',
cht='匹諾康尼大劇院',
en='Penacony Grand Theater',
jp='ピノコニー大劇場',
es='Gran Teatro de Colonipenal',
world_id=3,
plane_id=2033201,
)

View File

@ -162,7 +162,7 @@ Jim_Hulk_collection = RogueEventOption(
cn='杰姆·哈克的藏品。', cn='杰姆·哈克的藏品。',
cht='傑姆•哈克的收藏。', cht='傑姆•哈克的收藏。',
en="Jim Hulk's collection.", en="Jim Hulk's collection.",
jp='ェム・ハックの所蔵品', jp='ャック・ハックの所蔵品',
es='Colección de Jim Hulk.', es='Colección de Jim Hulk.',
) )
Walk_away = RogueEventOption( Walk_away = RogueEventOption(
@ -1097,7 +1097,7 @@ Hurry_and_delete_the_Cyclic_Demon_Lord_life_algorithm = RogueEventOption(
name='Hurry_and_delete_the_Cyclic_Demon_Lord_life_algorithm', name='Hurry_and_delete_the_Cyclic_Demon_Lord_life_algorithm',
cn='抓紧时间,删除周期性魔王的生命方程。', cn='抓紧时间,删除周期性魔王的生命方程。',
cht='把握時間,刪除週期性魔王的生命方程式。', cht='把握時間,刪除週期性魔王的生命方程式。',
en="Hurry and delete the Cyclic Demon Lord's life algorithm", en="Hurry and delete the Cyclic Demon Lord's life algorithm.",
jp='事態は一刻を争う、周期性魔王の生命方程式を削除する', jp='事態は一刻を争う、周期性魔王の生命方程式を削除する',
es='Date prisa y borra el algoritmo vital del Rey Demonio Cíclico.', es='Date prisa y borra el algoritmo vital del Rey Demonio Cíclico.',
) )
@ -1187,7 +1187,7 @@ Purchase_a_1_2_star_Blessing = RogueEventOption(
name='Purchase_a_1_2_star_Blessing', name='Purchase_a_1_2_star_Blessing',
cn='购买1个1-2星祝福', cn='购买1个1-2星祝福',
cht='購買1個一至二星祝福', cht='購買1個一至二星祝福',
en='Purchase a 1-2 star Blessing', en='Purchase a 12 star Blessing',
jp='★12の祝福を1個購入する', jp='★12の祝福を1個購入する',
es='Compra 1 bendición de 1-2 estrellas.', es='Compra 1 bendición de 1-2 estrellas.',
) )
@ -1196,7 +1196,7 @@ Purchase_a_1_3_star_Blessing = RogueEventOption(
name='Purchase_a_1_3_star_Blessing', name='Purchase_a_1_3_star_Blessing',
cn='购买1个1-3星祝福', cn='购买1个1-3星祝福',
cht='購買1個一至三星祝福', cht='購買1個一至三星祝福',
en='Purchase a 1-3 star Blessing', en='Purchase a 13 star Blessing',
jp='★13の祝福を1個購入する', jp='★13の祝福を1個購入する',
es='Compra 1 bendición de 1-3 estrellas.', es='Compra 1 bendición de 1-3 estrellas.',
) )

View File

@ -37,7 +37,6 @@ class Rogue(RouteLoader, RogueEntry):
self.config.task_call('Dungeon') self.config.task_call('Dungeon')
self.config.task_stop() self.config.task_stop()
while 1:
# Run # Run
success = self.rogue_once() success = self.rogue_once()
@ -59,9 +58,14 @@ class Rogue(RouteLoader, RogueEntry):
self.config.task_call('BattlePass') self.config.task_call('BattlePass')
self.config.task_stop() self.config.task_stop()
# End # End
if not success: if success:
logger.info('Rogue run success')
# Call rogue itself, so multiple rogue runs are considered as separated tasks
# which won't trigger failure count >= 3 when clearing 100 elites
self.config.task_call('Rogue')
else:
logger.info('Rogue run failed')
self.config.task_delay(server_update=True) self.config.task_delay(server_update=True)
break
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -33,7 +33,8 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
return False return False
def combat_execute(self, expected_end=None): def combat_execute(self, expected_end=None):
return super().combat_execute(expected_end=self.combat_expected_end) super().combat_execute(expected_end=self.combat_expected_end)
self.clear_blessing()
def walk_additional(self) -> bool: def walk_additional(self) -> bool:
if self.handle_blessing_popup(): if self.handle_blessing_popup():
@ -126,12 +127,6 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
if self.handle_event_option(): if self.handle_event_option():
continue continue
def _goto(self, *args, **kwargs):
result = super()._goto(*args, **kwargs)
if 'enemy' in result:
self.clear_blessing()
return result
def wait_until_minimap_stabled(self): def wait_until_minimap_stabled(self):
logger.info('Wait until minimap stabled') logger.info('Wait until minimap stabled')
radius = self.minimap.MINIMAP_RADIUS radius = self.minimap.MINIMAP_RADIUS