mirror of
https://github.com/ok-oldking/ok-wuthering-waves.git
synced 2025-06-06 17:05:54 +00:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from src.char.BaseChar import BaseChar, Priority
|
|
|
|
|
|
class Changli(BaseChar):
|
|
|
|
def __init__(self, *args):
|
|
super().__init__(*args)
|
|
self.enhanced_normal = False
|
|
self.last_e = 0
|
|
|
|
def reset_state(self):
|
|
self.enhanced_normal = False
|
|
|
|
def do_get_switch_priority(self, current_char: BaseChar, has_intro=False, target_low_con=False):
|
|
if self.time_elapsed_accounting_for_freeze(self.last_e) < 4:
|
|
self.logger.info(
|
|
f'switch priority MIN because e not finished')
|
|
return Priority.MIN
|
|
else:
|
|
return super().do_get_switch_priority(current_char, has_intro)
|
|
|
|
def do_perform(self):
|
|
if self.has_intro or self.enhanced_normal:
|
|
self.continues_normal_attack(0.5)
|
|
self.enhanced_normal = False
|
|
if self.is_forte_full():
|
|
self.logger.debug('Changli click heavy attack without ult')
|
|
self.heavy_attack(0.8)
|
|
return self.switch_next_char()
|
|
if self.click_liberation():
|
|
self.sleep(0.1)
|
|
self.heavy_attack(0.8)
|
|
elif self.resonance_available():
|
|
self.send_resonance_key()
|
|
self.enhanced_normal = True
|
|
self.normal_attack()
|
|
elif self.click_echo(1.5):
|
|
self.logger.debug('Changli click echo success')
|
|
pass
|
|
else:
|
|
self.normal_attack()
|
|
self.logger.info('Changli nothing is available')
|
|
self.switch_next_char()
|