From 7656ecffbecb3ce4d09d0f03f2143e23cace7a74 Mon Sep 17 00:00:00 2001 From: "firedcto@gmail.com" Date: Sat, 6 Jul 2024 16:09:23 +0800 Subject: [PATCH] try optimize encore --- src/char/Encore.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/char/Encore.py b/src/char/Encore.py index 0f2a47a..4fec150 100644 --- a/src/char/Encore.py +++ b/src/char/Encore.py @@ -1,7 +1,14 @@ -from src.char.BaseChar import BaseChar +import time + +from src.char.BaseChar import BaseChar, Priority class Encore(BaseChar): + + def __init__(self, *args): + super().__init__(*args) + self.last_heavy = 0 + def do_perform(self): self.logger.debug( f'Encore_perform_{self.has_intro}_{self.echo_available()}_{self.resonance_available()}_{self.liberation_available()}') @@ -13,10 +20,11 @@ class Encore(BaseChar): self.sleep(0.4) self.n4() self.click_resonance() - # if self.is_forte_full(): - # self.logger.info('Encore is_forte_full cast') - # self.sleep(2) - # self.heavy_attack() + if self.is_forte_full(): + self.logger.info('Encore is_forte_full cast') + self.sleep(2) + self.heavy_attack() + self.last_heavy = time.time() elif self.resonance_available(): self.click_resonance() elif self.echo_available(): @@ -25,5 +33,13 @@ class Encore(BaseChar): self.logger.info('Encore nothing is available') self.switch_next_char() + def do_get_switch_priority(self, current_char: BaseChar, has_intro=False): + if time.time() - self.last_heavy < 4: + self.logger.info( + f'switch priority MIN because heavy attack not finished') + return Priority.MIN + else: + return super().do_get_switch_priority(current_char, has_intro) + def n4(self): self.continues_normal_attack(2.5)