Skip to content

Commit 7656ecf

Browse files
committed
try optimize encore
1 parent b2dddce commit 7656ecf

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

src/char/Encore.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1-
from src.char.BaseChar import BaseChar
1+
import time
2+
3+
from src.char.BaseChar import BaseChar, Priority
24

35

46
class Encore(BaseChar):
7+
8+
def __init__(self, *args):
9+
super().__init__(*args)
10+
self.last_heavy = 0
11+
512
def do_perform(self):
613
self.logger.debug(
714
f'Encore_perform_{self.has_intro}_{self.echo_available()}_{self.resonance_available()}_{self.liberation_available()}')
@@ -13,10 +20,11 @@ def do_perform(self):
1320
self.sleep(0.4)
1421
self.n4()
1522
self.click_resonance()
16-
# if self.is_forte_full():
17-
# self.logger.info('Encore is_forte_full cast')
18-
# self.sleep(2)
19-
# self.heavy_attack()
23+
if self.is_forte_full():
24+
self.logger.info('Encore is_forte_full cast')
25+
self.sleep(2)
26+
self.heavy_attack()
27+
self.last_heavy = time.time()
2028
elif self.resonance_available():
2129
self.click_resonance()
2230
elif self.echo_available():
@@ -25,5 +33,13 @@ def do_perform(self):
2533
self.logger.info('Encore nothing is available')
2634
self.switch_next_char()
2735

36+
def do_get_switch_priority(self, current_char: BaseChar, has_intro=False):
37+
if time.time() - self.last_heavy < 4:
38+
self.logger.info(
39+
f'switch priority MIN because heavy attack not finished')
40+
return Priority.MIN
41+
else:
42+
return super().do_get_switch_priority(current_char, has_intro)
43+
2844
def n4(self):
2945
self.continues_normal_attack(2.5)

0 commit comments

Comments
 (0)