Zebartin 2023-06-26 00:07:52 +08:00
parent a64c14648b
commit 7d5bacdbc4
14 changed files with 411 additions and 44 deletions

View File

@ -68,8 +68,11 @@
"ServerUpdate": "04:00"
},
"Assignment": {
"Filter": "Nameless Land Nameless People > Akashic Records > The Invisible Hand > Root Out the Turpitude",
"Duration": 20
"Duration": 20,
"Name_1": "Nameless_Land_Nameless_People",
"Name_2": "Akashic_Records",
"Name_3": "The_Invisible_Hand",
"Name_4": "Nine_Billion_Names"
}
}
}

View File

@ -209,7 +209,7 @@ class ModuleBase:
def interval_reset(self, button, interval=5):
if isinstance(button, (list, tuple)):
for b in button:
self.interval_reset(b)
self.interval_reset(b, interval)
return
if button.name in self.interval_timer:
@ -220,7 +220,7 @@ class ModuleBase:
def interval_clear(self, button, interval=5):
if isinstance(button, (list, tuple)):
for b in button:
self.interval_clear(b)
self.interval_clear(b, interval)
return
if button.name in self.interval_timer:

View File

@ -282,10 +282,6 @@
}
},
"Assignment": {
"Filter": {
"type": "textarea",
"value": "Nameless Land Nameless People > Akashic Records > The Invisible Hand > Root Out the Turpitude"
},
"Duration": {
"type": "select",
"value": 20,
@ -295,6 +291,82 @@
12,
20
]
},
"Name_1": {
"type": "select",
"value": "Nameless_Land_Nameless_People",
"option": [
"Nine_Billion_Names",
"Destruction_of_the_Destroyer",
"Winter_Soldiers",
"Born_to_Obey",
"Root_Out_the_Turpitude",
"Fire_Lord_Inflames_Blades_of_War",
"Nameless_Land_Nameless_People",
"Akashic_Records",
"The_Invisible_Hand",
"Abandoned_and_Insulted",
"Spring_of_Life",
"The_Land_of_Gold",
"The_Blossom_in_the_Storm"
]
},
"Name_2": {
"type": "select",
"value": "Akashic_Records",
"option": [
"Nine_Billion_Names",
"Destruction_of_the_Destroyer",
"Winter_Soldiers",
"Born_to_Obey",
"Root_Out_the_Turpitude",
"Fire_Lord_Inflames_Blades_of_War",
"Nameless_Land_Nameless_People",
"Akashic_Records",
"The_Invisible_Hand",
"Abandoned_and_Insulted",
"Spring_of_Life",
"The_Land_of_Gold",
"The_Blossom_in_the_Storm"
]
},
"Name_3": {
"type": "select",
"value": "The_Invisible_Hand",
"option": [
"Nine_Billion_Names",
"Destruction_of_the_Destroyer",
"Winter_Soldiers",
"Born_to_Obey",
"Root_Out_the_Turpitude",
"Fire_Lord_Inflames_Blades_of_War",
"Nameless_Land_Nameless_People",
"Akashic_Records",
"The_Invisible_Hand",
"Abandoned_and_Insulted",
"Spring_of_Life",
"The_Land_of_Gold",
"The_Blossom_in_the_Storm"
]
},
"Name_4": {
"type": "select",
"value": "Nine_Billion_Names",
"option": [
"Nine_Billion_Names",
"Destruction_of_the_Destroyer",
"Winter_Soldiers",
"Born_to_Obey",
"Root_Out_the_Turpitude",
"Fire_Lord_Inflames_Blades_of_War",
"Nameless_Land_Nameless_People",
"Akashic_Records",
"The_Invisible_Hand",
"Abandoned_and_Insulted",
"Spring_of_Life",
"The_Land_of_Gold",
"The_Blossom_in_the_Storm"
]
}
}
}

View File

@ -79,8 +79,19 @@ Dungeon:
option: [ 1, 2, 3, 4, 5, 6 ]
Assignment:
Filter: |-
Nameless Land Nameless People > Akashic Records > The Invisible Hand > Root Out the Turpitude
Duration:
value: 20
option: [4, 8, 12, 20]
option: [4, 8, 12, 20]
# Options in Name_x will be injected in config updater
Name_1:
value: Nameless_Land_Nameless_People
option: [Nameless_Land_Nameless_People, ]
Name_2:
value: Akashic_Records
option: [Nameless_Land_Nameless_People, ]
Name_3:
value: The_Invisible_Hand
option: [Nameless_Land_Nameless_People, ]
Name_4:
value: Nine_Billion_Names
option: [Nameless_Land_Nameless_People, ]

View File

@ -43,5 +43,8 @@ class GeneratedConfig:
Dungeon_Team = 1 # 1, 2, 3, 4, 5, 6
# Group `Assignment`
Assignment_Filter = 'Nameless Land Nameless People > Akashic Records > The Invisible Hand > Root Out the Turpitude'
Assignment_Duration = 20 # 4, 8, 12, 20
Assignment_Name_1 = 'Nameless_Land_Nameless_People' # Nine_Billion_Names, Destruction_of_the_Destroyer, Winter_Soldiers, Born_to_Obey, Root_Out_the_Turpitude, Fire_Lord_Inflames_Blades_of_War, Nameless_Land_Nameless_People, Akashic_Records, The_Invisible_Hand, Abandoned_and_Insulted, Spring_of_Life, The_Land_of_Gold, The_Blossom_in_the_Storm
Assignment_Name_2 = 'Akashic_Records' # Nine_Billion_Names, Destruction_of_the_Destroyer, Winter_Soldiers, Born_to_Obey, Root_Out_the_Turpitude, Fire_Lord_Inflames_Blades_of_War, Nameless_Land_Nameless_People, Akashic_Records, The_Invisible_Hand, Abandoned_and_Insulted, Spring_of_Life, The_Land_of_Gold, The_Blossom_in_the_Storm
Assignment_Name_3 = 'The_Invisible_Hand' # Nine_Billion_Names, Destruction_of_the_Destroyer, Winter_Soldiers, Born_to_Obey, Root_Out_the_Turpitude, Fire_Lord_Inflames_Blades_of_War, Nameless_Land_Nameless_People, Akashic_Records, The_Invisible_Hand, Abandoned_and_Insulted, Spring_of_Life, The_Land_of_Gold, The_Blossom_in_the_Storm
Assignment_Name_4 = 'Nine_Billion_Names' # Nine_Billion_Names, Destruction_of_the_Destroyer, Winter_Soldiers, Born_to_Obey, Root_Out_the_Turpitude, Fire_Lord_Inflames_Blades_of_War, Nameless_Land_Nameless_People, Akashic_Records, The_Invisible_Hand, Abandoned_and_Insulted, Spring_of_Life, The_Land_of_Gold, The_Blossom_in_the_Storm

View File

@ -355,6 +355,13 @@ class ConfigGenerator:
dungeons = [dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_daily_dungeon]
deep_set(self.argument, keys='Dungeon.Name.option', value=dungeons)
deep_set(self.args, keys='Dungeon.Dungeon.Name.option', value=dungeons)
def insert_assignment(self):
from tasks.assignment.keywords import AssignmentEntry
assignments = [entry.name for entry in AssignmentEntry.instances.values()]
for i in range(4):
deep_set(self.argument, keys=f'Assignment.Name_{i+1}.option', value=assignments)
deep_set(self.args, keys=f'Assignment.Assignment.Name_{i+1}.option', value=assignments)
def insert_package(self):
option = deep_get(self.argument, keys='Emulator.PackageName.option')
@ -369,6 +376,7 @@ class ConfigGenerator:
_ = self.menu
# _ = self.event
self.insert_dungeon()
self.insert_assignment()
self.insert_package()
# self.insert_server()
write_file(filepath_args(), self.args)

View File

@ -225,17 +225,81 @@
"name": "Assignment Settings",
"help": "Claim rewards and dispatch, handling specified assignments first\nIf the assignment limit is not reached after that, others will be dispatched according to preset priority (EXP Materials/Credits → Character Materials → Synthesis Materials)"
},
"Filter": {
"name": "Assignment Priority",
"help": "Make sure there are no typos\nExample: Nameless Land Nameless People > Akashic Records > The Invisible Hand > Root Out the Turpitude"
},
"Duration": {
"name": "Assignment Duration",
"name": "Dispatch Duration",
"help": "",
"4": "4",
"8": "8",
"12": "12",
"20": "20"
},
"Name_1": {
"name": "Assignment 1 Preference",
"help": "",
"Nine_Billion_Names": "Extinguished Core (Nine Billion Names)",
"Destruction_of_the_Destroyer": "Thief's Instinct (Destruction of the Destroyer)",
"Winter_Soldiers": "Silvermane Badge (Winter Soldiers)",
"Born_to_Obey": "Ancient Part (Born to Obey)",
"Root_Out_the_Turpitude": "Immortal Scionette (Root Out the Turpitude)",
"Fire_Lord_Inflames_Blades_of_War": "Artifex's Module (Fire Lord Inflames Blades of War)",
"Nameless_Land_Nameless_People": "Character EXP Material (Nameless Land, Nameless People)",
"Akashic_Records": "Light Cone EXP Material (Akashic Records)",
"The_Invisible_Hand": "Credit (The Invisible Hand)",
"Abandoned_and_Insulted": "Phlogiston & Metal (Abandoned and Insulted)",
"Spring_of_Life": "Virtual Particle & Solid Water (Spring of Life)",
"The_Land_of_Gold": "Protein Rice & Basic Ingredients (The Land of Gold)",
"The_Blossom_in_the_Storm": "Gaseous Liquid & Seed (The Blossom in the Storm)"
},
"Name_2": {
"name": "Assignment 2 Preference",
"help": "",
"Nine_Billion_Names": "Extinguished Core (Nine Billion Names)",
"Destruction_of_the_Destroyer": "Thief's Instinct (Destruction of the Destroyer)",
"Winter_Soldiers": "Silvermane Badge (Winter Soldiers)",
"Born_to_Obey": "Ancient Part (Born to Obey)",
"Root_Out_the_Turpitude": "Immortal Scionette (Root Out the Turpitude)",
"Fire_Lord_Inflames_Blades_of_War": "Artifex's Module (Fire Lord Inflames Blades of War)",
"Nameless_Land_Nameless_People": "Character EXP Material (Nameless Land, Nameless People)",
"Akashic_Records": "Light Cone EXP Material (Akashic Records)",
"The_Invisible_Hand": "Credit (The Invisible Hand)",
"Abandoned_and_Insulted": "Phlogiston & Metal (Abandoned and Insulted)",
"Spring_of_Life": "Virtual Particle & Solid Water (Spring of Life)",
"The_Land_of_Gold": "Protein Rice & Basic Ingredients (The Land of Gold)",
"The_Blossom_in_the_Storm": "Gaseous Liquid & Seed (The Blossom in the Storm)"
},
"Name_3": {
"name": "Assignment 3 Preference",
"help": "",
"Nine_Billion_Names": "Extinguished Core (Nine Billion Names)",
"Destruction_of_the_Destroyer": "Thief's Instinct (Destruction of the Destroyer)",
"Winter_Soldiers": "Silvermane Badge (Winter Soldiers)",
"Born_to_Obey": "Ancient Part (Born to Obey)",
"Root_Out_the_Turpitude": "Immortal Scionette (Root Out the Turpitude)",
"Fire_Lord_Inflames_Blades_of_War": "Artifex's Module (Fire Lord Inflames Blades of War)",
"Nameless_Land_Nameless_People": "Character EXP Material (Nameless Land, Nameless People)",
"Akashic_Records": "Light Cone EXP Material (Akashic Records)",
"The_Invisible_Hand": "Credit (The Invisible Hand)",
"Abandoned_and_Insulted": "Phlogiston & Metal (Abandoned and Insulted)",
"Spring_of_Life": "Virtual Particle & Solid Water (Spring of Life)",
"The_Land_of_Gold": "Protein Rice & Basic Ingredients (The Land of Gold)",
"The_Blossom_in_the_Storm": "Gaseous Liquid & Seed (The Blossom in the Storm)"
},
"Name_4": {
"name": "Assignment 4 Preference",
"help": "",
"Nine_Billion_Names": "Extinguished Core (Nine Billion Names)",
"Destruction_of_the_Destroyer": "Thief's Instinct (Destruction of the Destroyer)",
"Winter_Soldiers": "Silvermane Badge (Winter Soldiers)",
"Born_to_Obey": "Ancient Part (Born to Obey)",
"Root_Out_the_Turpitude": "Immortal Scionette (Root Out the Turpitude)",
"Fire_Lord_Inflames_Blades_of_War": "Artifex's Module (Fire Lord Inflames Blades of War)",
"Nameless_Land_Nameless_People": "Character EXP Material (Nameless Land, Nameless People)",
"Akashic_Records": "Light Cone EXP Material (Akashic Records)",
"The_Invisible_Hand": "Credit (The Invisible Hand)",
"Abandoned_and_Insulted": "Phlogiston & Metal (Abandoned and Insulted)",
"Spring_of_Life": "Virtual Particle & Solid Water (Spring of Life)",
"The_Land_of_Gold": "Protein Rice & Basic Ingredients (The Land of Gold)",
"The_Blossom_in_the_Storm": "Gaseous Liquid & Seed (The Blossom in the Storm)"
}
},
"Gui": {

View File

@ -31,8 +31,8 @@
"help": ""
},
"Assignment": {
"name": "Task.Assignment.name",
"help": "Task.Assignment.help"
"name": "依頼設定",
"help": ""
}
},
"Scheduler": {
@ -222,20 +222,84 @@
},
"Assignment": {
"_info": {
"name": "Assignment._info.name",
"help": "Assignment._info.help"
},
"Filter": {
"name": "Assignment.Filter.name",
"help": "Assignment.Filter.help"
"name": "依頼設定",
"help": ""
},
"Duration": {
"name": "Assignment.Duration.name",
"help": "Assignment.Duration.help",
"name": "派遣時間",
"help": "",
"4": "4",
"8": "8",
"12": "12",
"20": "20"
},
"Name_1": {
"name": "依頼 1",
"help": "",
"Nine_Billion_Names": "消滅した原核(九十億の御名)",
"Destruction_of_the_Destroyer": "略奪の本能(壊滅者の覆没)",
"Winter_Soldiers": "シルバーメインの釦(寒冬の戦士たち)",
"Born_to_Obey": "古代パーツ(生まれながらに服従する)",
"Root_Out_the_Turpitude": "永寿の萌芽(悪孽を根絶やしに)",
"Fire_Lord_Inflames_Blades_of_War": "工造機関(剣戟を焼却する火帝炉)",
"Nameless_Land_Nameless_People": "キャラクターの経験値素材(無名の地、無名の人)",
"Akashic_Records": "光円錐強化素材(アーカーシャの記録)",
"The_Invisible_Hand": "信用ポイント(見えざる手)",
"Abandoned_and_Insulted": "燃素と金属(捨てられしものと傷つけられしもの)",
"Spring_of_Life": "仮想粒子と固形純水(生命の泉)",
"The_Land_of_Gold": "タンパク米と基本食材(黄金の大地)",
"The_Blossom_in_the_Storm": "気態流体と種子(嵐の中で咲き誇る花)"
},
"Name_2": {
"name": "依頼 2",
"help": "",
"Nine_Billion_Names": "消滅した原核(九十億の御名)",
"Destruction_of_the_Destroyer": "略奪の本能(壊滅者の覆没)",
"Winter_Soldiers": "シルバーメインの釦(寒冬の戦士たち)",
"Born_to_Obey": "古代パーツ(生まれながらに服従する)",
"Root_Out_the_Turpitude": "永寿の萌芽(悪孽を根絶やしに)",
"Fire_Lord_Inflames_Blades_of_War": "工造機関(剣戟を焼却する火帝炉)",
"Nameless_Land_Nameless_People": "キャラクターの経験値素材(無名の地、無名の人)",
"Akashic_Records": "光円錐強化素材(アーカーシャの記録)",
"The_Invisible_Hand": "信用ポイント(見えざる手)",
"Abandoned_and_Insulted": "燃素と金属(捨てられしものと傷つけられしもの)",
"Spring_of_Life": "仮想粒子と固形純水(生命の泉)",
"The_Land_of_Gold": "タンパク米と基本食材(黄金の大地)",
"The_Blossom_in_the_Storm": "気態流体と種子(嵐の中で咲き誇る花)"
},
"Name_3": {
"name": "依頼 3",
"help": "",
"Nine_Billion_Names": "消滅した原核(九十億の御名)",
"Destruction_of_the_Destroyer": "略奪の本能(壊滅者の覆没)",
"Winter_Soldiers": "シルバーメインの釦(寒冬の戦士たち)",
"Born_to_Obey": "古代パーツ(生まれながらに服従する)",
"Root_Out_the_Turpitude": "永寿の萌芽(悪孽を根絶やしに)",
"Fire_Lord_Inflames_Blades_of_War": "工造機関(剣戟を焼却する火帝炉)",
"Nameless_Land_Nameless_People": "キャラクターの経験値素材(無名の地、無名の人)",
"Akashic_Records": "光円錐強化素材(アーカーシャの記録)",
"The_Invisible_Hand": "信用ポイント(見えざる手)",
"Abandoned_and_Insulted": "燃素と金属(捨てられしものと傷つけられしもの)",
"Spring_of_Life": "仮想粒子と固形純水(生命の泉)",
"The_Land_of_Gold": "タンパク米と基本食材(黄金の大地)",
"The_Blossom_in_the_Storm": "気態流体と種子(嵐の中で咲き誇る花)"
},
"Name_4": {
"name": "依頼 4",
"help": "",
"Nine_Billion_Names": "消滅した原核(九十億の御名)",
"Destruction_of_the_Destroyer": "略奪の本能(壊滅者の覆没)",
"Winter_Soldiers": "シルバーメインの釦(寒冬の戦士たち)",
"Born_to_Obey": "古代パーツ(生まれながらに服従する)",
"Root_Out_the_Turpitude": "永寿の萌芽(悪孽を根絶やしに)",
"Fire_Lord_Inflames_Blades_of_War": "工造機関(剣戟を焼却する火帝炉)",
"Nameless_Land_Nameless_People": "キャラクターの経験値素材(無名の地、無名の人)",
"Akashic_Records": "光円錐強化素材(アーカーシャの記録)",
"The_Invisible_Hand": "信用ポイント(見えざる手)",
"Abandoned_and_Insulted": "燃素と金属(捨てられしものと傷つけられしもの)",
"Spring_of_Life": "仮想粒子と固形純水(生命の泉)",
"The_Land_of_Gold": "タンパク米と基本食材(黄金の大地)",
"The_Blossom_in_the_Storm": "気態流体と種子(嵐の中で咲き誇る花)"
}
},
"Gui": {

View File

@ -225,17 +225,81 @@
"name": "委托设置",
"help": "领取奖励并派遣,优先处理指定委托\n若处理指定委托之后未达到上限则按经验材料 → 角色专属素材 → 合成材料的顺序来派遣委托"
},
"Filter": {
"name": "委托优先级",
"help": "中文或英文皆可,须保证没有错字漏字\n比如无名之地无名之人 > 阿卡夏记录 > The Invisible Hand > 根除恶孽"
},
"Duration": {
"name": "委托时长",
"name": "派遣时长",
"help": "",
"4": "4",
"8": "8",
"12": "12",
"20": "20"
},
"Name_1": {
"name": "第1个委托选择",
"help": "",
"Nine_Billion_Names": "熄灭原核(九十亿个名字)",
"Destruction_of_the_Destroyer": "掠夺的本能(毁灭者的覆灭)",
"Winter_Soldiers": "铁卫扣饰(寒冬的战士们)",
"Born_to_Obey": "古代零件(生而服从)",
"Root_Out_the_Turpitude": "永寿幼芽(根除恶孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造机杼(火帝动炉销剑戟)",
"Nameless_Land_Nameless_People": "角色经验材料(无名之地,无名之人)",
"Akashic_Records": "光锥强化材料(阿卡夏记录)",
"The_Invisible_Hand": "信用点(看不见的手)",
"Abandoned_and_Insulted": "燃素&金属(被废弃与损害的)",
"Spring_of_Life": "虚粒子&固态净水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黄金大地)",
"The_Blossom_in_the_Storm": "气态流体&种子(风暴中怒放的花)"
},
"Name_2": {
"name": "第2个委托选择",
"help": "",
"Nine_Billion_Names": "熄灭原核(九十亿个名字)",
"Destruction_of_the_Destroyer": "掠夺的本能(毁灭者的覆灭)",
"Winter_Soldiers": "铁卫扣饰(寒冬的战士们)",
"Born_to_Obey": "古代零件(生而服从)",
"Root_Out_the_Turpitude": "永寿幼芽(根除恶孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造机杼(火帝动炉销剑戟)",
"Nameless_Land_Nameless_People": "角色经验材料(无名之地,无名之人)",
"Akashic_Records": "光锥强化材料(阿卡夏记录)",
"The_Invisible_Hand": "信用点(看不见的手)",
"Abandoned_and_Insulted": "燃素&金属(被废弃与损害的)",
"Spring_of_Life": "虚粒子&固态净水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黄金大地)",
"The_Blossom_in_the_Storm": "气态流体&种子(风暴中怒放的花)"
},
"Name_3": {
"name": "第3个委托选择",
"help": "",
"Nine_Billion_Names": "熄灭原核(九十亿个名字)",
"Destruction_of_the_Destroyer": "掠夺的本能(毁灭者的覆灭)",
"Winter_Soldiers": "铁卫扣饰(寒冬的战士们)",
"Born_to_Obey": "古代零件(生而服从)",
"Root_Out_the_Turpitude": "永寿幼芽(根除恶孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造机杼(火帝动炉销剑戟)",
"Nameless_Land_Nameless_People": "角色经验材料(无名之地,无名之人)",
"Akashic_Records": "光锥强化材料(阿卡夏记录)",
"The_Invisible_Hand": "信用点(看不见的手)",
"Abandoned_and_Insulted": "燃素&金属(被废弃与损害的)",
"Spring_of_Life": "虚粒子&固态净水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黄金大地)",
"The_Blossom_in_the_Storm": "气态流体&种子(风暴中怒放的花)"
},
"Name_4": {
"name": "第4个委托选择",
"help": "",
"Nine_Billion_Names": "熄灭原核(九十亿个名字)",
"Destruction_of_the_Destroyer": "掠夺的本能(毁灭者的覆灭)",
"Winter_Soldiers": "铁卫扣饰(寒冬的战士们)",
"Born_to_Obey": "古代零件(生而服从)",
"Root_Out_the_Turpitude": "永寿幼芽(根除恶孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造机杼(火帝动炉销剑戟)",
"Nameless_Land_Nameless_People": "角色经验材料(无名之地,无名之人)",
"Akashic_Records": "光锥强化材料(阿卡夏记录)",
"The_Invisible_Hand": "信用点(看不见的手)",
"Abandoned_and_Insulted": "燃素&金属(被废弃与损害的)",
"Spring_of_Life": "虚粒子&固态净水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黄金大地)",
"The_Blossom_in_the_Storm": "气态流体&种子(风暴中怒放的花)"
}
},
"Gui": {

View File

@ -225,17 +225,81 @@
"name": "委託設置",
"help": "領取獎勵並派遣,優先處理指定委託\n若處理指定委託之後未達到上限則按經驗材料 → 角色專屬素材 → 合成材料的順序來派遣委託"
},
"Filter": {
"name": "委託優先級",
"help": "中文或英文皆可,須保證沒有錯字漏字\n比如無名之地無名之人 > 阿卡夏記錄 > The Invisible Hand > 根除惡孽"
},
"Duration": {
"name": "委託時長",
"name": "派遣時間",
"help": "",
"4": "4",
"8": "8",
"12": "12",
"20": "20"
},
"Name_1": {
"name": "第1個委託選擇",
"help": "",
"Nine_Billion_Names": "熄滅原核(九十億個名字)",
"Destruction_of_the_Destroyer": "掠奪的本能(毀滅者的覆滅)",
"Winter_Soldiers": "鐵衛扣飾(寒冬的戰士們)",
"Born_to_Obey": "古代零件(生而服從)",
"Root_Out_the_Turpitude": "永壽幼芽(根除惡孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造機杼(火帝動爐銷劍戟)",
"Nameless_Land_Nameless_People": "角色經驗材料(無名之地,無名之人)",
"Akashic_Records": "光錐強化材料(阿卡夏記錄)",
"The_Invisible_Hand": "信用點(看不見的手)",
"Abandoned_and_Insulted": "燃素&金屬(被廢棄與損害的)",
"Spring_of_Life": "虛粒子&固態淨水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黃金大地)",
"The_Blossom_in_the_Storm": "氣態流體&種子(風暴中怒放的花)"
},
"Name_2": {
"name": "第2個委託選擇",
"help": "",
"Nine_Billion_Names": "熄滅原核(九十億個名字)",
"Destruction_of_the_Destroyer": "掠奪的本能(毀滅者的覆滅)",
"Winter_Soldiers": "鐵衛扣飾(寒冬的戰士們)",
"Born_to_Obey": "古代零件(生而服從)",
"Root_Out_the_Turpitude": "永壽幼芽(根除惡孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造機杼(火帝動爐銷劍戟)",
"Nameless_Land_Nameless_People": "角色經驗材料(無名之地,無名之人)",
"Akashic_Records": "光錐強化材料(阿卡夏記錄)",
"The_Invisible_Hand": "信用點(看不見的手)",
"Abandoned_and_Insulted": "燃素&金屬(被廢棄與損害的)",
"Spring_of_Life": "虛粒子&固態淨水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黃金大地)",
"The_Blossom_in_the_Storm": "氣態流體&種子(風暴中怒放的花)"
},
"Name_3": {
"name": "第3個委託選擇",
"help": "",
"Nine_Billion_Names": "熄滅原核(九十億個名字)",
"Destruction_of_the_Destroyer": "掠奪的本能(毀滅者的覆滅)",
"Winter_Soldiers": "鐵衛扣飾(寒冬的戰士們)",
"Born_to_Obey": "古代零件(生而服從)",
"Root_Out_the_Turpitude": "永壽幼芽(根除惡孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造機杼(火帝動爐銷劍戟)",
"Nameless_Land_Nameless_People": "角色經驗材料(無名之地,無名之人)",
"Akashic_Records": "光錐強化材料(阿卡夏記錄)",
"The_Invisible_Hand": "信用點(看不見的手)",
"Abandoned_and_Insulted": "燃素&金屬(被廢棄與損害的)",
"Spring_of_Life": "虛粒子&固態淨水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黃金大地)",
"The_Blossom_in_the_Storm": "氣態流體&種子(風暴中怒放的花)"
},
"Name_4": {
"name": "第4個委託選擇",
"help": "",
"Nine_Billion_Names": "熄滅原核(九十億個名字)",
"Destruction_of_the_Destroyer": "掠奪的本能(毀滅者的覆滅)",
"Winter_Soldiers": "鐵衛扣飾(寒冬的戰士們)",
"Born_to_Obey": "古代零件(生而服從)",
"Root_Out_the_Turpitude": "永壽幼芽(根除惡孽)",
"Fire_Lord_Inflames_Blades_of_War": "工造機杼(火帝動爐銷劍戟)",
"Nameless_Land_Nameless_People": "角色經驗材料(無名之地,無名之人)",
"Akashic_Records": "光錐強化材料(阿卡夏記錄)",
"The_Invisible_Hand": "信用點(看不見的手)",
"Abandoned_and_Insulted": "燃素&金屬(被廢棄與損害的)",
"Spring_of_Life": "虛粒子&固態淨水(生命之泉)",
"The_Land_of_Gold": "蛋白米&基本食材(黃金大地)",
"The_Blossom_in_the_Storm": "氣態流體&種子(風暴中怒放的花)"
}
},
"Gui": {

View File

@ -28,6 +28,7 @@ class DraggableList:
keyword_class,
ocr_class,
search_button: ButtonWrapper,
check_row_order: bool = True,
active_color: tuple[int, int, int] = (190, 175, 124)
):
"""
@ -43,6 +44,7 @@ class DraggableList:
keyword_class = keyword_class[0]
self.known_rows = list(keyword_class.instances.values())
self.search_button = search_button
self.check_row_order = check_row_order
self.active_color = active_color
self.row_min = 1
@ -89,7 +91,7 @@ class DraggableList:
for row in self.cur_buttons]
indexes = [index for index in indexes if index]
# Check row order
if len(indexes) >= 2:
if self.check_row_order and len(indexes) >= 2:
if not np.all(np.diff(indexes) > 0):
logger.warning(
f'Rows given to {self} are not ascending sorted')

View File

@ -15,8 +15,15 @@ from tasks.daily.synthesize import SynthesizeUI
class Assignment(AssignmentClaim, SynthesizeUI):
def run(self, assignments: list[AssignmentEntry] = None, duration: int = None):
if assignments is None:
assignments = [AssignmentEntry.find(
x.strip()) for x in self.config.Assignment_Filter.split('>')]
assignments = (
getattr(self.config, f'Assignment_Name_{i+1}', None) for i in range(4))
# remove duplicate while keeping order
assignments = list(dict.fromkeys(
x for x in assignments if x is not None))
assignments = [AssignmentEntry.find(x) for x in assignments]
if len(assignments) < 4:
logger.warning(
'There are duplicate assignments in config, check it out')
if duration is None:
duration = self.config.Assignment_Duration

View File

@ -47,8 +47,8 @@ class AssignmentDispatch(AssignmentUI):
out: CHARACTER_LIST
"""
skip_first_screenshot = True
list_timer = Timer(2, count=3)
select_timer = Timer(2, count=3)
self.interval_clear(
(CHARACTER_LIST, CHARACTER_1_SELECTED, CHARACTER_2_SELECTED), interval=2)
while 1:
if skip_first_screenshot:
skip_first_screenshot = False
@ -60,13 +60,17 @@ class AssignmentDispatch(AssignmentUI):
break
# Ensure character list
if not self.appear(CHARACTER_LIST):
if list_timer.reached_and_reset():
if self.interval_is_reached(CHARACTER_LIST, interval=2):
self.interval_reset(CHARACTER_LIST, interval=2)
self.device.click(EMPTY_SLOT)
continue
# Select
if select_timer.reached_and_reset():
if self.interval_is_reached(CHARACTER_1_SELECTED, interval=2):
self.interval_reset(CHARACTER_1_SELECTED, interval=2)
if not self.image_color_count(CHARACTER_1_SELECTED, (240, 240, 240)):
self.device.click(CHARACTER_1)
if self.interval_is_reached(CHARACTER_2_SELECTED, interval=2):
self.interval_reset(CHARACTER_2_SELECTED, interval=2)
if not self.image_color_count(CHARACTER_2_SELECTED, (240, 240, 240)):
self.device.click(CHARACTER_2)

View File

@ -93,6 +93,7 @@ ASSIGNMENT_ENTRY_LIST = DraggableList(
keyword_class=AssignmentEntry,
ocr_class=AssignmentOcr,
search_button=OCR_ASSIGNMENT_LIST,
check_row_order=False,
active_color=(40, 40, 40)
)