This commit is contained in:
2025-04-20 16:03:57 +08:00
parent cc883c684c
commit 0e7f2d3319
18 changed files with 200 additions and 767 deletions
+16 -2
View File
@@ -539,8 +539,22 @@ class Character(CharacterProperty):
skill.lv += skills[key].get('lv', 0)
pass
def load_skills(self):
pass
def load_skills(self, module:str) -> None:
"""加载技能"""
skills = []
skills_dict = {}
classes = []
for name in dir(module):
member = getattr(module, name)
if isinstance(member, type):
classes.append(member)
for i in classes:
if i.__name__.startswith("Skill"):
skill = i(char=self)
skills_dict[skill.name] = skill
skills.append(skill)
self.skills = skills
self.skills_dict = skills_dict
def calc_suits(self):
"""套装效果统计"""
+7 -1
View File
@@ -165,6 +165,11 @@ class ActiveSkill(Skill):
def __init__(self, char):
super().__init__(char)
keys = [key.replace("data","") for key in dir(self) if key.startswith('data')]
for i in keys:
power = getattr(self, f'power{i}', None)
if power is None:
setattr(self, f'power{i}', 1)
def skillInfo(self, mode: str | None = None):
if mode is not None:
@@ -181,7 +186,8 @@ class ActiveSkill(Skill):
def getSkillDate(self,lv:int=0):
res = 0
for i in range(0,10):
keys = [key.replace("data","") for key in dir(self) if key.startswith('data')]
for i in keys:
data = getattr(self, f'data{i}', [])
if len(data) == 0:
break