diff --git a/config/template.json b/config/template.json index 5d919bd1e..f7cc66b3c 100644 --- a/config/template.json +++ b/config/template.json @@ -292,6 +292,7 @@ "card_rule": "auto", "exchange_before": true, "exchange_max": true, + "exchange_auto": true, "exchange_smart": false, "shikigami_class": "N" } diff --git a/tasks/KekkaiActivation/a/a_a_auto_put.png b/tasks/KekkaiActivation/a/a_a_auto_put.png new file mode 100644 index 000000000..41d1c10e3 Binary files /dev/null and b/tasks/KekkaiActivation/a/a_a_auto_put.png differ diff --git a/tasks/KekkaiActivation/assets.py b/tasks/KekkaiActivation/assets.py index cc9ac2cb3..fe9d6b016 100644 --- a/tasks/KekkaiActivation/assets.py +++ b/tasks/KekkaiActivation/assets.py @@ -115,4 +115,7 @@ class KekkaiActivationAssets: # description I_CARDS_MOON_1 = RuleImage(roi_front=(190,430,93,74), roi_back=(173,156,123,492), threshold=0.8, method="Template matching", file="./tasks/KekkaiActivation/cards/cards_cards_moon_1.png") + #auto_put_assets + i_AUTO_PUT = RuleImage(roi_front=(1149,509,44,42), roi_back=(1145,504,54,52), threshold=0.8, method="Template matching",file="./tasks/KekkaiActivation/a/a_a_auto_put.png") + diff --git a/tasks/KekkaiActivation/config.py b/tasks/KekkaiActivation/config.py index 3693d04e1..8b67a4bc1 100644 --- a/tasks/KekkaiActivation/config.py +++ b/tasks/KekkaiActivation/config.py @@ -23,12 +23,10 @@ class ActivationConfig(BaseModel): card_type: CardType = Field(default=CardType.TAIKO, description='card_rule_help') min_taiko_num: int = Field(default=8, description='挂卡太鼓每小时最少收益,低于则不挂卡') min_fish_num: int = Field(default=16, description='挂卡斗鱼每小时最少收益,低于则不挂卡') - exchange_before: bool = Field(default=True, description='exchange_before_help') - exchange_max: bool = Field(default=True, description='exchange_max_help') + exchange_auto: bool = Field(default=True, description='是否使用智能放入') shikigami_class: ShikigamiClass = Field(default=ShikigamiClass.N, description='shikigami_class_help') card_not_found_count: int = Field(default=0, description='未发现卡次数') - class KekkaiActivation(ConfigBase): scheduler: ActivationScheduler = Field(default_factory=ActivationScheduler) activation_config: ActivationConfig = Field(default_factory=ActivationConfig) diff --git a/tasks/KekkaiActivation/script_task.py b/tasks/KekkaiActivation/script_task.py index 5e852acaa..f388b3a9f 100644 --- a/tasks/KekkaiActivation/script_task.py +++ b/tasks/KekkaiActivation/script_task.py @@ -39,8 +39,9 @@ def run(self): # 进入寮结界 self.goto_realm() - if con.exchange_before: - self.check_max_lv(con.shikigami_class) + if con.exchange_auto: + self.check_max_lv() + # 收取经验 self.harvest_card() # 开始挂卡 @@ -55,8 +56,9 @@ def run(self): if self.appear_then_click(self.I_UI_BACK_RED, interval=1): continue - if con.exchange_max: - self.check_max_lv(con.shikigami_class) + if con.exchange_auto: + self.check_max_lv() + # self.back_guild() self.ui_get_current_page() self.ui_goto(page_main) @@ -363,23 +365,11 @@ def _card_not_found(self): def check_max_lv(self, shikigami_class: ShikigamiClass = ShikigamiClass.N): """ - 在结界界面,进入式神育成,检查是否有满级的,如果有就换下一个 - 退出的时候还是结界界面 + 在结界界面,进入式神育成,如果显示了智能放入按钮,则使用 :return: """ self.realm_goto_grown() - if self.appear(self.I_RS_LEVEL_MAX): - # 存在满级的式神 - logger.info('Exist max level shikigami and replace it') - self.unset_shikigami_max_lv() - self.switch_shikigami_class(shikigami_class) - self.set_shikigami(shikigami_order=7, stop_image=self.I_RS_NO_ADD) - else: - logger.info('No max level shikigami') - if self.detect_no_shikigami(): - logger.warning('There are no any shikigami grow room') - self.switch_shikigami_class(shikigami_class) - self.set_shikigami(shikigami_order=7, stop_image=self.I_RS_NO_ADD) + self.appear_then_click(self.i_AUTO_PUT, interval=2) # 回到结界界面 while 1: