This commit is contained in:
2025-04-21 13:59:45 +08:00
parent dc5ac60d4d
commit fc56d5f935
13 changed files with 41 additions and 48 deletions
+8 -7
View File
@@ -153,8 +153,9 @@ class Character(CharacterProperty):
# endregion # endregion
def __init__(self, equVersion) -> None: def __init__(self, equVersion, moduleName) -> None:
self.equVersion = equVersion self.equVersion = equVersion
self.moduleName = moduleName
# self.equs = get_equ(self.equVersion) # self.equs = get_equ(self.equVersion)
# 工会四维 # 工会四维
self.STR = 0 + 120 self.STR = 0 + 120
@@ -220,6 +221,7 @@ class Character(CharacterProperty):
self.max_point = 0 self.max_point = 0
self.skills = [] self.skills = []
self.skills_dict = {} self.skills_dict = {}
self.load_skills()
pass pass
# region 角色属性设置 # region 角色属性设置
@@ -541,14 +543,13 @@ class Character(CharacterProperty):
skill.lv += skills[key].get('lv', 0) skill.lv += skills[key].get('lv', 0)
pass pass
def load_skills(self, module:str) -> None: def load_skills(self) -> None:
"""加载技能""" """加载技能"""
if self.name not in module: module = sys.modules[self.moduleName]
return
for name in dir(module): for name in dir(module):
member = getattr(module, name) memberClass = getattr(module, name)
if isinstance(member, type) and member.__name__.startswith("Skill") and issubclass(member, Skill): if isinstance(memberClass, type) and memberClass.__name__.startswith("Skill"):
skill = member(char=self) skill = memberClass(char=self)
self.skills_dict[skill.name] = skill self.skills_dict[skill.name] = skill
self.skills.append(skill) self.skills.append(skill)
@@ -548,7 +548,7 @@ class Skill29(ActiveSkill):
hit0 = 1 #TODO hit0 = 1 #TODO
data1 = [0, 5490, 6046, 6606, 7162, 7718, 8275, 8831, 9387, 9944, 10501, 11057, 11615, 12172, 12730, 13286, 13841, 14399, 14954, 15510, 16070, 16625, 17182, 17739, 18295, 18851, 19410, 19967, 20525, 21078, 21634, 22192, 22750, 23305, 23863, 24420, 24977, 25536, 26090, 26646, 27204, 27760, 28316, 28873, 29432, 29988, 30544, 31099, 31658, 32214, 32771]# noqa: E501 data1 = [0, 5490, 6046, 6606, 7162, 7718, 8275, 8831, 9387, 9944, 10501, 11057, 11615, 12172, 12730, 13286, 13841, 14399, 14954, 15510, 16070, 16625, 17182, 17739, 18295, 18851, 19410, 19967, 20525, 21078, 21634, 22192, 22750, 23305, 23863, 24420, 24977, 25536, 26090, 26646, 27204, 27760, 28316, 28873, 29432, 29988, 30544, 31099, 31658, 32214, 32771]# noqa: E501
hit1 = 1 #TODO hit1 = 10 #TODO
data2 = [0, 91468, 100747, 110028, 119307, 128584, 137864, 147145, 156422, 165702, 174980, 184261, 193538, 202819, 212096, 221376, 230656, 239935, 249213, 258492, 267771, 277052, 286330, 295610, 304887, 314168, 323446, 332725, 342004, 351284, 360564, 369842, 379120, 388402, 397679, 406959, 416237, 425516, 434795, 444076, 453353, 462632, 471913, 481192, 490470, 499749, 509028, 518308, 527586, 536867, 546143]# noqa: E501 data2 = [0, 91468, 100747, 110028, 119307, 128584, 137864, 147145, 156422, 165702, 174980, 184261, 193538, 202819, 212096, 221376, 230656, 239935, 249213, 258492, 267771, 277052, 286330, 295610, 304887, 314168, 323446, 332725, 342004, 351284, 360564, 369842, 379120, 388402, 397679, 406959, 416237, 425516, 434795, 444076, 453353, 462632, 471913, 481192, 490470, 499749, 509028, 518308, 527586, 536867, 546143]# noqa: E501
hit2 = 1 #TODO hit2 = 1 #TODO
@@ -584,9 +584,8 @@ class Skill30(ActiveSkill):
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'nenmaster_female' self.name = 'nenmaster_female'
self.nameCN = '归元·气功师' self.nameCN = '归元·气功师'
self.role = 'fighter_female' self.role = 'fighter_female'
@@ -603,4 +602,5 @@ class classChange(Character):
self.职业 = '气功师' self.职业 = '气功师'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -490,9 +490,7 @@ class Skill25(ActiveSkill):
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'spitfire_female' self.name = 'spitfire_female'
self.nameCN = '重霄·弹药专家' self.nameCN = '重霄·弹药专家'
self.role = 'gunner_female' self.role = 'gunner_female'
@@ -509,7 +507,7 @@ class classChange(Character):
self.职业 = '弹药专家' self.职业 = '弹药专家'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
def set_skill_info(self, info, rune_except=[], clothes_pants=[]): def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
super().set_skill_info(info, rune_except=['爆裂弹'], clothes_pants=['远古记忆']) super().set_skill_info(info, rune_except=['爆裂弹'], clothes_pants=['远古记忆'])
@@ -515,9 +515,8 @@ class Skill26(ActiveSkill):
hit7 = 1 #TODO hit7 = 1 #TODO
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'glacial_master' self.name = 'glacial_master'
self.nameCN = '知源·冰结师' self.nameCN = '知源·冰结师'
self.role = 'mage_male' self.role = 'mage_male'
@@ -534,4 +533,4 @@ class classChange(Character):
self.职业 = '冰结师' self.职业 = '冰结师'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -618,9 +618,8 @@ class Skill31(ActiveBufferSkill):
return prep[0] * ratio, [prep[1][0]*ratio,prep[1][1],prep[1][2]*ratio], [prep[2][0]*ratio,prep[2][1],prep[2][2]*ratio],0,self.getSkillCD() return prep[0] * ratio, [prep[1][0]*ratio,prep[1][1],prep[1][2]*ratio], [prep[2][0]*ratio,prep[2][1],prep[2][2]*ratio],0,self.getSkillCD()
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'crusader_female' self.name = 'crusader_female'
self.nameCN = '神启·圣职者' self.nameCN = '神启·圣职者'
self.role = 'priest_female' self.role = 'priest_female'
@@ -641,10 +640,11 @@ class classChange(Character):
self.适用属性 = '智力' self.适用属性 = '智力'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
def load_skills(self, module):
super().load_skills(module) def load_skills(self):
super().load_skills()
for skill in self.skills: for skill in self.skills:
if skill.buffer and skill.buffType == 'buff' and skill.learnLv == 30: if skill.buffer and skill.buffType == 'buff' and skill.learnLv == 30:
self.BuffSkill = skill self.BuffSkill = skill
@@ -554,9 +554,8 @@ class Skill30(ActiveSkill):
hit1 = 1 hit1 = 1
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'dark_templar' self.name = 'dark_templar'
self.nameCN = '极诣·暗殿骑士' self.nameCN = '极诣·暗殿骑士'
self.role = 'swordman_female' self.role = 'swordman_female'
@@ -573,4 +572,5 @@ class classChange(Character):
self.职业 = '暗殿骑士' self.职业 = '暗殿骑士'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -475,9 +475,7 @@ class Skill21(ActiveSkill):
hit1 = 1 #TODO hit1 = 1 #TODO
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'demon_slayer' self.name = 'demon_slayer'
self.nameCN = '极诣·契魔者' self.nameCN = '极诣·契魔者'
self.role = 'swordman_female' self.role = 'swordman_female'
@@ -494,4 +492,4 @@ class classChange(Character):
self.职业 = '契魔者' self.职业 = '契魔者'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -543,8 +543,7 @@ class Skill28(ActiveSkill):
self.hit0 = 0 self.hit0 = 0
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'spectre' self.name = 'spectre'
self.nameCN = '极诣·刃影' self.nameCN = '极诣·刃影'
self.role = 'swordman_female' self.role = 'swordman_female'
@@ -561,4 +560,4 @@ class classChange(Character):
self.职业 = '刃影' self.职业 = '刃影'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -434,9 +434,8 @@ class Skill22(ActiveSkill):
hit0 = 1 hit0 = 1
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'vegabond' self.name = 'vegabond'
self.nameCN = '极诣·流浪武士' self.nameCN = '极诣·流浪武士'
self.role = 'swordman_female' self.role = 'swordman_female'
@@ -454,7 +453,8 @@ class classChange(Character):
self.职业 = '流浪武士' self.职业 = '流浪武士'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
def calc_basic(self): def calc_basic(self):
"""计算基础属性:防具精通、增幅、强化等""" """计算基础属性:防具精通、增幅、强化等"""
@@ -591,9 +591,8 @@ class Skill26(ActiveSkill):
hit3 = 1 hit3 = 1
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'asura' self.name = 'asura'
self.nameCN = '阿修罗' self.nameCN = '阿修罗'
self.role = 'swordman_male' self.role = 'swordman_male'
@@ -610,4 +609,5 @@ class classChange(Character):
self.职业 = '阿修罗' self.职业 = '阿修罗'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -483,9 +483,8 @@ class Skill23(ActiveSkill):
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'berserker' self.name = 'berserker'
self.nameCN = '极诣·狂战士' self.nameCN = '极诣·狂战士'
self.role = 'swordman_male' self.role = 'swordman_male'
@@ -502,4 +501,4 @@ class classChange(Character):
self.职业 = '狂战士' self.职业 = '狂战士'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -539,9 +539,8 @@ class Skill25(ActiveSkill):
hit6 = 1 #TODO hit6 = 1 #TODO
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'ghostblade' self.name = 'ghostblade'
self.nameCN = '极诣·剑影' self.nameCN = '极诣·剑影'
self.role = 'swordman_male' self.role = 'swordman_male'
@@ -558,4 +557,4 @@ class classChange(Character):
self.职业 = '剑影' self.职业 = '剑影'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)
@@ -750,9 +750,8 @@ class Skill35(ActiveSkill):
hit4 = 15 hit4 = 15
class classChange(Character): class classChange(Character):
def __init__(self, equVersion=''): def __init__(self, equVersion):
super().__init__(equVersion)
self.name = 'soul_bender' self.name = 'soul_bender'
self.nameCN = '极诣·鬼泣' self.nameCN = '极诣·鬼泣'
self.role = 'swordman_male' self.role = 'swordman_male'
@@ -769,4 +768,5 @@ class classChange(Character):
self.职业 = '鬼泣' self.职业 = '鬼泣'
self.load_skills(sys.modules[__name__]) super().__init__(equVersion, __name__)