This commit is contained in:
2025-04-03 17:57:45 +08:00
parent d56afd0695
commit e2099aa047
15 changed files with 744 additions and 42 deletions
+30 -11
View File
@@ -244,17 +244,18 @@ class Character:
光强=0,
暗强=0,
全属抗=0,
火抗=0,
冰抗=0,
光抗=0,
暗抗=0,
火属性抗性=0,
冰属性抗性=0,
光属性抗性=0,
暗属性抗性=0,
火属性攻击=False,
冰属性攻击=False,
光属性攻击=False,
暗属性攻击=False,
移速=0,
攻速=0,
施放=0,
移动速度=0,
攻击速度=0,
施放速度=0,
三速=0,
命中=0,
命中率=0,
物暴=0,
@@ -321,9 +322,9 @@ class Character:
self.CriticalM += kwargs.get('CriticalM', 0) + 魔暴
self.CriticalP += kwargs.get('CriticalP', 0) + 物暴
self.SkillAttack *= (1 + 技攻) * (1 + kwargs.get('SkillAttack', 0))
self.SpeedA += 攻速 + kwargs.get('SpeedA', 0)
self.SpeedM += 移速 + kwargs.get('SpeedM', 0)
self.SpeedR += 施放 + kwargs.get('SpeedR', 0)
self.SpeedA += 攻击速度 + kwargs.get('SpeedA', 0) + 三速
self.SpeedM += 移动速度 + kwargs.get('SpeedM', 0) + 三速
self.SpeedR += 施放速度 + kwargs.get('SpeedR', 0) + 三速
self.HitP += 命中率 + kwargs.get('HitP', 0)
self.Hit += 命中 + kwargs.get('Hit', 0)
self.Attack += 攻击强化 + kwargs.get('Attack', 0)
@@ -415,7 +416,15 @@ class Character:
info['name'] = self.nameCN
info['weapons'] = self.武器选项
skillInfo = []
skill_clothes = []
platinum = []
for skill in self.skills:
# 白金
if 15 <= skill.learnLv <= 70 and skill.learnLv not in [48,50]:
platinum.append(skill.name)
# 时装
if skill.learnLv <= 95:
skill_clothes.append(skill.name)
skillInfo.append(
{
'id': skill.id,
@@ -448,7 +457,17 @@ class Character:
info['suits'] = suits
info['stones'] = stones
info['enchants'] = equInfos.enchants
emblems = []
info['emblems'] = equInfos.emblems
info["avatar"] = equInfos.funs.get_dress_list(skill_clothes)
for skill in platinum:
info['emblems'].append({
'id': skill,
'fame':232,
'position':["辅助装备", "魔法石"],
"detail": skill + " Lv+1" + " 四维 + 8",
"categorize": ["技能"],
"rarity": "白金",
})
return info
def getBasicInos(self):
+16 -1
View File
@@ -1,5 +1,5 @@
import importlib
from database.models import Session, EquData, StoneData, SuitData, EnchantData
from database.models import EmblemData, Session, EquData, StoneData, SuitData, EnchantData
from database.connect import get_db_engine as get_engine
from functools import cache
@@ -75,12 +75,14 @@ class Equipments:
self.equ_dict: dict[str, Equ] = {}
self.stone_dict: dict[str, Equ] = {}
self.enchants = []
self.emblems = []
self.suits: list[Suit] = []
self.suit_dict: dict[str, Suit] = {}
self.init_equs()
self.init_suits()
self.init_enchants()
self.init_stones()
self.init_emblem()
self.engine.dispose()
def init_equs(self):
@@ -150,6 +152,19 @@ class Equipments:
pass
pass
def init_emblem(self):
"""从数据库中获取所有徽章信息"""
with Session(self.engine) as session:
db_list = session.query(EmblemData).all()
for item in db_list:
emblem = {k: v for k, v in item.__dict__.items() if not k.startswith('_')}
emblem['position'] = [] if emblem['itemType'] is None else emblem['itemType'].split(',')
emblem['categorize'] = [] if emblem['categorize'] is None else emblem['categorize'].split(',')
del emblem['itemType']
self.emblems.append(emblem)
pass
pass
def init_func(self):
"""根据装备版本加载装备效果"""
try:
+1
View File
@@ -33,6 +33,7 @@ class CharacterEquipInfo:
"""贴膜信息"""
def __init__(self, info={}, equVerison=0, part='') -> None:
info["fusion"] = info.get("fusion", None)
self.__dict__.update(info)
equ = get_equipment(equVerison).equ_dict.get(self.id, None)
fusion = get_equipment(equVerison).stone_dict.get(self.fusion, None)