From fc56d5f93509c1e44ce57dcd518a2634868d80ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Mon, 21 Apr 2025 13:59:45 +0800 Subject: [PATCH] dev --- backend/core/basic/character.py | 15 ++++++++------- .../GF/fighter_female/nenmaster_female.py | 8 ++++---- .../character/GF/gunner_female/spitfire_female.py | 6 ++---- .../core/character/GF/mage_male/glacial_master.py | 5 ++--- .../character/GF/priest_female/crusader_female.py | 10 +++++----- .../character/GF/swordman_female/dark_templar.py | 6 +++--- .../character/GF/swordman_female/demon_slayer.py | 6 ++---- .../core/character/GF/swordman_female/spectre.py | 5 ++--- .../core/character/GF/swordman_female/vegabond.py | 6 +++--- backend/core/character/GF/swordman_male/asura.py | 6 +++--- .../core/character/GF/swordman_male/berserker.py | 5 ++--- .../core/character/GF/swordman_male/ghostblade.py | 5 ++--- .../character/GF/swordman_male/soul_bender.py | 6 +++--- 13 files changed, 41 insertions(+), 48 deletions(-) diff --git a/backend/core/basic/character.py b/backend/core/basic/character.py index fe80e171..fbafe3aa 100644 --- a/backend/core/basic/character.py +++ b/backend/core/basic/character.py @@ -153,8 +153,9 @@ class Character(CharacterProperty): # endregion - def __init__(self, equVersion) -> None: + def __init__(self, equVersion, moduleName) -> None: self.equVersion = equVersion + self.moduleName = moduleName # self.equs = get_equ(self.equVersion) # 工会四维 self.STR = 0 + 120 @@ -220,6 +221,7 @@ class Character(CharacterProperty): self.max_point = 0 self.skills = [] self.skills_dict = {} + self.load_skills() pass # region 角色属性设置 @@ -541,14 +543,13 @@ class Character(CharacterProperty): skill.lv += skills[key].get('lv', 0) pass - def load_skills(self, module:str) -> None: + def load_skills(self) -> None: """加载技能""" - if self.name not in module: - return + module = sys.modules[self.moduleName] for name in dir(module): - member = getattr(module, name) - if isinstance(member, type) and member.__name__.startswith("Skill") and issubclass(member, Skill): - skill = member(char=self) + memberClass = getattr(module, name) + if isinstance(memberClass, type) and memberClass.__name__.startswith("Skill"): + skill = memberClass(char=self) self.skills_dict[skill.name] = skill self.skills.append(skill) diff --git a/backend/core/character/GF/fighter_female/nenmaster_female.py b/backend/core/character/GF/fighter_female/nenmaster_female.py index 9f61e860..7badfb09 100644 --- a/backend/core/character/GF/fighter_female/nenmaster_female.py +++ b/backend/core/character/GF/fighter_female/nenmaster_female.py @@ -548,7 +548,7 @@ class Skill29(ActiveSkill): 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 - 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 hit2 = 1 #TODO @@ -584,9 +584,8 @@ class Skill30(ActiveSkill): class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'nenmaster_female' self.nameCN = '归元·气功师' self.role = 'fighter_female' @@ -603,4 +602,5 @@ class classChange(Character): self.职业 = '气功师' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) + diff --git a/backend/core/character/GF/gunner_female/spitfire_female.py b/backend/core/character/GF/gunner_female/spitfire_female.py index a38a027e..bf8c3ba6 100644 --- a/backend/core/character/GF/gunner_female/spitfire_female.py +++ b/backend/core/character/GF/gunner_female/spitfire_female.py @@ -490,9 +490,7 @@ class Skill25(ActiveSkill): class classChange(Character): - def __init__(self, equVersion=''): - - super().__init__(equVersion) + def __init__(self, equVersion): self.name = 'spitfire_female' self.nameCN = '重霄·弹药专家' self.role = 'gunner_female' @@ -509,7 +507,7 @@ class classChange(Character): self.职业 = '弹药专家' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) def set_skill_info(self, info, rune_except=[], clothes_pants=[]): super().set_skill_info(info, rune_except=['爆裂弹'], clothes_pants=['远古记忆']) diff --git a/backend/core/character/GF/mage_male/glacial_master.py b/backend/core/character/GF/mage_male/glacial_master.py index 6525a67d..27978745 100644 --- a/backend/core/character/GF/mage_male/glacial_master.py +++ b/backend/core/character/GF/mage_male/glacial_master.py @@ -515,9 +515,8 @@ class Skill26(ActiveSkill): hit7 = 1 #TODO class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'glacial_master' self.nameCN = '知源·冰结师' self.role = 'mage_male' @@ -534,4 +533,4 @@ class classChange(Character): self.职业 = '冰结师' - self.load_skills(sys.modules[__name__]) \ No newline at end of file + super().__init__(equVersion, __name__) diff --git a/backend/core/character/GF/priest_female/crusader_female.py b/backend/core/character/GF/priest_female/crusader_female.py index 8dd8e5e0..4e9b6f73 100644 --- a/backend/core/character/GF/priest_female/crusader_female.py +++ b/backend/core/character/GF/priest_female/crusader_female.py @@ -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() class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'crusader_female' self.nameCN = '神启·圣职者' self.role = 'priest_female' @@ -641,10 +640,11 @@ class classChange(Character): 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: if skill.buffer and skill.buffType == 'buff' and skill.learnLv == 30: self.BuffSkill = skill diff --git a/backend/core/character/GF/swordman_female/dark_templar.py b/backend/core/character/GF/swordman_female/dark_templar.py index b7c64969..22f4d7fe 100644 --- a/backend/core/character/GF/swordman_female/dark_templar.py +++ b/backend/core/character/GF/swordman_female/dark_templar.py @@ -554,9 +554,8 @@ class Skill30(ActiveSkill): hit1 = 1 class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'dark_templar' self.nameCN = '极诣·暗殿骑士' self.role = 'swordman_female' @@ -573,4 +572,5 @@ class classChange(Character): self.职业 = '暗殿骑士' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) + diff --git a/backend/core/character/GF/swordman_female/demon_slayer.py b/backend/core/character/GF/swordman_female/demon_slayer.py index f2b5511f..a7068843 100644 --- a/backend/core/character/GF/swordman_female/demon_slayer.py +++ b/backend/core/character/GF/swordman_female/demon_slayer.py @@ -475,9 +475,7 @@ class Skill21(ActiveSkill): hit1 = 1 #TODO class classChange(Character): - def __init__(self, equVersion=''): - - super().__init__(equVersion) + def __init__(self, equVersion): self.name = 'demon_slayer' self.nameCN = '极诣·契魔者' self.role = 'swordman_female' @@ -494,4 +492,4 @@ class classChange(Character): self.职业 = '契魔者' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) diff --git a/backend/core/character/GF/swordman_female/spectre.py b/backend/core/character/GF/swordman_female/spectre.py index 68414470..930aabc9 100644 --- a/backend/core/character/GF/swordman_female/spectre.py +++ b/backend/core/character/GF/swordman_female/spectre.py @@ -543,8 +543,7 @@ class Skill28(ActiveSkill): self.hit0 = 0 class classChange(Character): - def __init__(self, equVersion=''): - super().__init__(equVersion) + def __init__(self, equVersion): self.name = 'spectre' self.nameCN = '极诣·刃影' self.role = 'swordman_female' @@ -561,4 +560,4 @@ class classChange(Character): self.职业 = '刃影' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) diff --git a/backend/core/character/GF/swordman_female/vegabond.py b/backend/core/character/GF/swordman_female/vegabond.py index bcfc5e82..13608776 100644 --- a/backend/core/character/GF/swordman_female/vegabond.py +++ b/backend/core/character/GF/swordman_female/vegabond.py @@ -434,9 +434,8 @@ class Skill22(ActiveSkill): hit0 = 1 class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'vegabond' self.nameCN = '极诣·流浪武士' self.role = 'swordman_female' @@ -454,7 +453,8 @@ class classChange(Character): self.职业 = '流浪武士' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) + def calc_basic(self): """计算基础属性:防具精通、增幅、强化等""" diff --git a/backend/core/character/GF/swordman_male/asura.py b/backend/core/character/GF/swordman_male/asura.py index 47053fef..c6f651d7 100644 --- a/backend/core/character/GF/swordman_male/asura.py +++ b/backend/core/character/GF/swordman_male/asura.py @@ -591,9 +591,8 @@ class Skill26(ActiveSkill): hit3 = 1 class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'asura' self.nameCN = '阿修罗' self.role = 'swordman_male' @@ -610,4 +609,5 @@ class classChange(Character): self.职业 = '阿修罗' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) + diff --git a/backend/core/character/GF/swordman_male/berserker.py b/backend/core/character/GF/swordman_male/berserker.py index 3f36e1a2..6394c578 100644 --- a/backend/core/character/GF/swordman_male/berserker.py +++ b/backend/core/character/GF/swordman_male/berserker.py @@ -483,9 +483,8 @@ class Skill23(ActiveSkill): class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'berserker' self.nameCN = '极诣·狂战士' self.role = 'swordman_male' @@ -502,4 +501,4 @@ class classChange(Character): self.职业 = '狂战士' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) diff --git a/backend/core/character/GF/swordman_male/ghostblade.py b/backend/core/character/GF/swordman_male/ghostblade.py index 78640d91..a8eccdb4 100644 --- a/backend/core/character/GF/swordman_male/ghostblade.py +++ b/backend/core/character/GF/swordman_male/ghostblade.py @@ -539,9 +539,8 @@ class Skill25(ActiveSkill): hit6 = 1 #TODO class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'ghostblade' self.nameCN = '极诣·剑影' self.role = 'swordman_male' @@ -558,4 +557,4 @@ class classChange(Character): self.职业 = '剑影' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) diff --git a/backend/core/character/GF/swordman_male/soul_bender.py b/backend/core/character/GF/swordman_male/soul_bender.py index 1a92c228..349e7fd9 100644 --- a/backend/core/character/GF/swordman_male/soul_bender.py +++ b/backend/core/character/GF/swordman_male/soul_bender.py @@ -750,9 +750,8 @@ class Skill35(ActiveSkill): hit4 = 15 class classChange(Character): - def __init__(self, equVersion=''): + def __init__(self, equVersion): - super().__init__(equVersion) self.name = 'soul_bender' self.nameCN = '极诣·鬼泣' self.role = 'swordman_male' @@ -769,4 +768,5 @@ class classChange(Character): self.职业 = '鬼泣' - self.load_skills(sys.modules[__name__]) + super().__init__(equVersion, __name__) +