diff --git a/src/char/CharFactory.py b/src/char/CharFactory.py index 79f4df0..ce3a208 100644 --- a/src/char/CharFactory.py +++ b/src/char/CharFactory.py @@ -6,6 +6,8 @@ from src.char.Chixia import Chixia from src.char.Danjin import Danjin from src.char.Jinhsi import Jinhsi from src.char.Yuanwu import Yuanwu +from src.char.Jiyan import Jiyan +from src.char.Mortefi import Mortefi def get_char_by_pos(task, box, index): @@ -31,7 +33,9 @@ def get_char_by_pos(task, box, index): 'char_chixia': {'cls': Chixia, 'res_cd': 9, 'echo_cd': 20}, 'char_danjin': {'cls': Danjin, 'res_cd': 9999999, 'echo_cd': 20}, 'char_baizhi': {'cls': Baizhi, 'res_cd': 16, 'echo_cd': 20}, - 'char_calcharo': {'cls': Calcharo, 'res_cd': 99999, 'echo_cd': 20} + 'char_calcharo': {'cls': Calcharo, 'res_cd': 99999, 'echo_cd': 20}, + 'char_jiyan': {'cls': Jiyan, 'res_cd': 16, 'echo_cd': 20}, + 'char_mortefi': {'cls': Mortefi, 'res_cd': 14, 'echo_cd': 20}, } highest_confidence = 0 info = None diff --git a/src/char/Jiyan.py b/src/char/Jiyan.py new file mode 100644 index 0000000..3358cdb --- /dev/null +++ b/src/char/Jiyan.py @@ -0,0 +1,34 @@ +import time + +from src.char.BaseChar import BaseChar + + +class Jiyan(BaseChar): + def do_perform(self): + if self.has_intro: + self.logger.debug('jiyan wait intro') + self.continues_normal_attack(duration=2.0) + # fly check not work for jiyan + if self.click_liberation(): + start = time.time() + while time.time() - start < 12: + if self.click_resonance()[0]: + self.task.middle_click_relative(0.5, 0.5) + pass + self.normal_attack() + self.switch_next_char() + i = 0 + while not self.is_forte_full() and not self.is_con_full(): + if i % 4 == 0: + self.heavy_attack() + if self.resonance_available() or self.echo_available(): + self.task.middle_click_relative(0.5, 0.5) + break + i = 0 + self.normal_attack() + i += 1 + if not self.is_forte_full() and self.resonance_available(): + self.click_resonance(post_sleep=1.0) + if self.echo_available(): + self.click_echo(duration=1.0) + self.switch_next_char() diff --git a/src/char/Mortefi.py b/src/char/Mortefi.py new file mode 100644 index 0000000..95c319d --- /dev/null +++ b/src/char/Mortefi.py @@ -0,0 +1,12 @@ +from src.char.BaseChar import BaseChar + + +class Mortefi(BaseChar): + def do_perform(self): + if self.has_intro: + self.wait_down() + else: + self.click_liberation() + self.click_resonance() + self.click_echo(sleep_time=0.1) + self.switch_next_char()