0
0
mirror of https://github.com/ok-oldking/ok-wuthering-waves.git synced 2025-06-06 17:05:54 +00:00
2024-09-24 23:18:26 +08:00

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()