0
0
mirror of https://github.com/ok-oldking/ok-wuthering-waves.git synced 2025-06-06 17:05:54 +00:00

feat: add support for Jiyan and Mortefi

personally used for few weeks
This commit is contained in:
Small_Ku 2024-08-17 23:10:00 +08:00
parent 0a357ca4bb
commit 5dd52592d0
No known key found for this signature in database
GPG Key ID: 7EFEA1416F80E3AC
3 changed files with 51 additions and 1 deletions

View File

@ -6,6 +6,8 @@ from src.char.Chixia import Chixia
from src.char.Danjin import Danjin from src.char.Danjin import Danjin
from src.char.Jinhsi import Jinhsi from src.char.Jinhsi import Jinhsi
from src.char.Yuanwu import Yuanwu 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): 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_chixia': {'cls': Chixia, 'res_cd': 9, 'echo_cd': 20},
'char_danjin': {'cls': Danjin, 'res_cd': 9999999, 'echo_cd': 20}, 'char_danjin': {'cls': Danjin, 'res_cd': 9999999, 'echo_cd': 20},
'char_baizhi': {'cls': Baizhi, 'res_cd': 16, '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 highest_confidence = 0
info = None info = None

34
src/char/Jiyan.py Normal file
View File

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

12
src/char/Mortefi.py Normal file
View File

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