dev
This commit is contained in:
+80
-105
@@ -9,7 +9,7 @@ from core.basic.equipment import get_equipment, EquEffect,Equ
|
|||||||
|
|
||||||
# from core.basic.equipment import equipments
|
# from core.basic.equipment import equipments
|
||||||
# from core.basic.skill import Skill, ActiveSkill, PassiveSkill
|
# from core.basic.skill import Skill, ActiveSkill, PassiveSkill
|
||||||
from .formula import 获取基础属性
|
from .formula import 增幅计算, 精通计算, 获取基础属性
|
||||||
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
||||||
# from .property import 精通计算, 角色基础, CharacterInfo
|
# from .property import 精通计算, 角色基础, CharacterInfo
|
||||||
|
|
||||||
@@ -105,8 +105,6 @@ class Character:
|
|||||||
"""装备版本"""
|
"""装备版本"""
|
||||||
charEquipInfo: dict[str, 'CharacterEquipInfo']
|
charEquipInfo: dict[str, 'CharacterEquipInfo']
|
||||||
"""装备打造信息"""
|
"""装备打造信息"""
|
||||||
equs: dict[str, 'Equ']
|
|
||||||
"""装备列表"""
|
|
||||||
equ_effect: list['EquEffect'] = []
|
equ_effect: list['EquEffect'] = []
|
||||||
"""装备效果列表"""
|
"""装备效果列表"""
|
||||||
|
|
||||||
@@ -328,7 +326,6 @@ class Character:
|
|||||||
"""通过技能ID获取技能"""
|
"""通过技能ID获取技能"""
|
||||||
return skill[0] if len(skill) > 0 else None
|
return skill[0] if len(skill) > 0 else None
|
||||||
|
|
||||||
@cache
|
|
||||||
def GetSkillNames(self, type: Literal['active', 'passive', 'all'] = 'all', damage: Literal[True, False, 'all'] = 'all') -> list[str]:
|
def GetSkillNames(self, type: Literal['active', 'passive', 'all'] = 'all', damage: Literal[True, False, 'all'] = 'all') -> list[str]:
|
||||||
"""获取技能名字"""
|
"""获取技能名字"""
|
||||||
return [skill.name for skill in self.skills if (type == 'all' or skill.type == type) and (damage == 'all' or skill.damage == damage)]
|
return [skill.name for skill in self.skills if (type == 'all' or skill.type == type) and (damage == 'all' or skill.damage == damage)]
|
||||||
@@ -343,16 +340,6 @@ class Character:
|
|||||||
# 导入部位打造信息、装备信息、贴膜信息
|
# 导入部位打造信息、装备信息、贴膜信息
|
||||||
self.charEquipInfo[key] = CharacterEquipInfo(info['equips'][key], self.equVersion, key)
|
self.charEquipInfo[key] = CharacterEquipInfo(info['equips'][key], self.equVersion, key)
|
||||||
|
|
||||||
# def calc(self):
|
|
||||||
# """计算角色属性"""
|
|
||||||
# func = []
|
|
||||||
# for i in self.charEquipInfo:
|
|
||||||
# # 计算装备
|
|
||||||
# temp = self.equs.get_func_by_id(self.charEquipInfo[i].id)
|
|
||||||
# func.append(temp)
|
|
||||||
# temp(self)
|
|
||||||
# pass
|
|
||||||
|
|
||||||
def getInfo(self):
|
def getInfo(self):
|
||||||
"""返回到前端信息"""
|
"""返回到前端信息"""
|
||||||
info = {}
|
info = {}
|
||||||
@@ -391,57 +378,6 @@ class Character:
|
|||||||
info['suits'] = suits
|
info['suits'] = suits
|
||||||
enchats = []
|
enchats = []
|
||||||
emblems = []
|
emblems = []
|
||||||
# 装备过滤
|
|
||||||
# for i in self.equs.info:
|
|
||||||
# if (i.typeSon1Id == '武器' and i.typeSon2Id not in self.武器选项) or (i.name.startswith('精 · ') and self.异界 not in i.name):
|
|
||||||
# pass
|
|
||||||
# else:
|
|
||||||
# equs.append(
|
|
||||||
# {
|
|
||||||
# 'id': i.id,
|
|
||||||
# 'name': i.name,
|
|
||||||
# 'icon': i.icon,
|
|
||||||
# 'typeSon1Id': i.typeSon1Id,
|
|
||||||
# 'typeSon2Id': i.typeSon2Id,
|
|
||||||
# 'typeSon3Id': i.typeSon3Id,
|
|
||||||
# 'rarity': i.rarity,
|
|
||||||
# 'lv': i.lv,
|
|
||||||
# 'suit': i.suit,
|
|
||||||
# }
|
|
||||||
# )
|
|
||||||
# 附魔、徽章
|
|
||||||
# for i in self.equs.prop:
|
|
||||||
# if i.typeSon1Id == '附魔':
|
|
||||||
# enchats.append(
|
|
||||||
# {
|
|
||||||
# 'id': i.id,
|
|
||||||
# 'name': i.name,
|
|
||||||
# 'icon': i.icon,
|
|
||||||
# 'typeSon1Id': i.typeSon1Id,
|
|
||||||
# 'typeSon2Id': i.typeSon2Id,
|
|
||||||
# 'typeSon3Id': i.typeSon3Id,
|
|
||||||
# 'rarity': i.rarity,
|
|
||||||
# 'lv': i.lv,
|
|
||||||
# 'desc': i.desc,
|
|
||||||
# }
|
|
||||||
# )
|
|
||||||
# if i.typeSon1Id == '徽章':
|
|
||||||
# emblems.append(
|
|
||||||
# {
|
|
||||||
# 'id': i.id,
|
|
||||||
# 'name': i.name,
|
|
||||||
# 'icon': i.icon,
|
|
||||||
# 'typeSon1Id': i.typeSon1Id,
|
|
||||||
# 'typeSon2Id': i.typeSon2Id,
|
|
||||||
# 'typeSon3Id': i.typeSon3Id,
|
|
||||||
# 'rarity': i.rarity,
|
|
||||||
# 'lv': i.lv,
|
|
||||||
# 'desc': i.desc,
|
|
||||||
# }
|
|
||||||
# )
|
|
||||||
# info['enchats'] = enchats
|
|
||||||
# info['emblems'] = emblems
|
|
||||||
# info['seal'] = [i.__dict__ for i in self.equs.seal]
|
|
||||||
return info
|
return info
|
||||||
|
|
||||||
def getBasicInos(self):
|
def getBasicInos(self):
|
||||||
@@ -498,13 +434,8 @@ class Character:
|
|||||||
def load_skills(self):
|
def load_skills(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def calc(self, setInfo: dict[str, dict]):
|
def calc_suits(self):
|
||||||
funcs = []
|
"""套装效果统计"""
|
||||||
suits = []
|
|
||||||
self.calc_init(setInfo)
|
|
||||||
# self.SetDetail(setInfo)
|
|
||||||
# 角色基础属性
|
|
||||||
self.SetBaseStatus()
|
|
||||||
suitInfo = {}
|
suitInfo = {}
|
||||||
equs = get_equipment(self.equVersion)
|
equs = get_equipment(self.equVersion)
|
||||||
# 设置装备和获取对应的套装属性
|
# 设置装备和获取对应的套装属性
|
||||||
@@ -514,14 +445,87 @@ class Character:
|
|||||||
# 当前部位适用调试后的属性
|
# 当前部位适用调试后的属性
|
||||||
partEqu = equs.equ_dict.get(cur.id).adapt(cur.adaptation)
|
partEqu = equs.equ_dict.get(cur.id).adapt(cur.adaptation)
|
||||||
# 设置当前部位的装备
|
# 设置当前部位的装备
|
||||||
self.equs[part] = equs.equ_dict.get(cur.id)
|
self.charEquipInfo[part].equInfo = equs.equ_dict.get(cur.id)
|
||||||
# 套装属性设置
|
# 套装属性设置
|
||||||
for suit in partEqu.suit:
|
for suit in partEqu.suit:
|
||||||
suitInfo[suit] = partEqu.Point + suitInfo.get(suit, 0)
|
if suitInfo.get(suit, None) is None:
|
||||||
for suit in suitInfo:
|
suitInfo[suit] = {
|
||||||
print(equs.get_suit_info(suit, suitInfo[suit])[0].id)
|
"point": 0,
|
||||||
|
"count": 0,
|
||||||
|
}
|
||||||
|
if partEqu.Point == 0:
|
||||||
|
suitInfo[suit]['count'] += 1
|
||||||
|
else:
|
||||||
|
suitInfo[suit]['point'] += partEqu.Point
|
||||||
|
# 取得点数最高的套装
|
||||||
|
max_point_suit = max(
|
||||||
|
(suit for suit in suitInfo if suitInfo[suit]['point'] > 0),
|
||||||
|
key=lambda suit: suitInfo[suit]['point'],
|
||||||
|
default=None
|
||||||
|
)
|
||||||
|
# 处理没有点数的老套装
|
||||||
|
zero_point_suits = [suit for suit in suitInfo if suitInfo[suit]['point'] == 0]
|
||||||
|
suits = zero_point_suits + ([max_point_suit] if max_point_suit is not None else [])
|
||||||
|
suits_effect = []
|
||||||
|
for suit in suits:
|
||||||
|
if suitInfo[suit]['point'] == 0:
|
||||||
|
suits_effect += [i.id for i in equs.get_suit_info(suit, 0, suitInfo[suit]['count'])]
|
||||||
|
else:
|
||||||
|
suits_effect += [i.id for i in equs.get_suit_info(suit, suitInfo[suit]['point'], 0)]
|
||||||
|
return suits_effect
|
||||||
|
|
||||||
|
def calc_basic(self):
|
||||||
|
"""计算基础属性:防具精通、增幅、强化等"""
|
||||||
|
# 防具精通跟随装备品级
|
||||||
|
for part in ['上衣', '头肩', '下装', '腰带', '鞋']:
|
||||||
|
cur = self.charEquipInfo[part]
|
||||||
|
equ = cur.equInfo
|
||||||
|
reinforce = self.charEquipInfo[part].reinforce
|
||||||
|
value = 精通计算(115, equ.rarity,reinforce,equ.itemDetailType,self.防具类型)
|
||||||
|
for key in self.防具精通属性:
|
||||||
|
key = get_key_by_value(key)
|
||||||
|
setattr(self, key, getattr(self, key) + value[key])
|
||||||
|
# 115增幅强化品级固定史诗
|
||||||
|
for part in self.charEquipInfo.keys():
|
||||||
|
cur = self.charEquipInfo[part]
|
||||||
|
# 增幅
|
||||||
|
if cur.reinforceType == 1:
|
||||||
|
# 增幅四维
|
||||||
|
value = 增幅计算(115,'史诗',cur.reinforce)
|
||||||
|
self.SetStatus(STR=value,INT=value,Spirit=value,Vitality=value)
|
||||||
|
# 增幅计算
|
||||||
|
# 武器、特殊装备强化额外效果计算
|
||||||
|
# 传世武器强化系数取所有武器的最高的1.12
|
||||||
|
pass
|
||||||
|
|
||||||
|
def calc_jade(self):
|
||||||
|
"""计算辟邪玉效果"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
def calc(self, setInfo: dict[str, dict]):
|
||||||
|
funcs = []
|
||||||
|
suits = []
|
||||||
|
self.calc_init(setInfo)
|
||||||
|
# self.SetDetail(setInfo)
|
||||||
|
# 角色基础属性
|
||||||
|
self.SetBaseStatus()
|
||||||
|
# 辟邪玉计算
|
||||||
|
# 精通、增幅、强化计算
|
||||||
|
self.calc_basic()
|
||||||
|
# 单件效果计算
|
||||||
|
# 套装效果列表
|
||||||
|
suits_effect = self.calc_suits()
|
||||||
|
effects = get_equipment(self.equVersion).funs
|
||||||
|
for effect in suits_effect:
|
||||||
|
func = effects.suit_func_list.get(str(effect), None)
|
||||||
|
func(self)
|
||||||
|
# 徽章计算
|
||||||
|
# 附魔计算
|
||||||
|
|
||||||
|
# 技能计算
|
||||||
skill = self.GetSkillByName('G-35L感电手雷')
|
skill = self.GetSkillByName('G-35L感电手雷')
|
||||||
print(skill.getSkillDate(skill.lv),skill.skillDamage,skill.skillRation)
|
print(skill.getSkillDate(skill.lv),skill.skillDamage,skill.skillRation)
|
||||||
|
#
|
||||||
return
|
return
|
||||||
# 技能影响角色的属性,如属强、抗性等
|
# 技能影响角色的属性,如属强、抗性等
|
||||||
for skill in self.skills:
|
for skill in self.skills:
|
||||||
@@ -554,35 +558,6 @@ class Character:
|
|||||||
fun = self.equs.get_func_by_id(f'seal_{seal}')
|
fun = self.equs.get_func_by_id(f'seal_{seal}')
|
||||||
funcs.append(fun + (equ,))
|
funcs.append(fun + (equ,))
|
||||||
# endregion
|
# endregion
|
||||||
# region 套装效果
|
|
||||||
matchSuit = []
|
|
||||||
for i in list(set(filter(lambda x: x != '' and x is not None, suits))):
|
|
||||||
# 获取当前的套装的数量
|
|
||||||
nums = len(list(filter(lambda x: x == i, suits)))
|
|
||||||
# 获取当前的套装信息
|
|
||||||
suisInfos = list(filter(lambda x: x.suitID == i, self.equs.suit))
|
|
||||||
if len(suisInfos) > 0:
|
|
||||||
matchSuit += [i.id for i in list(filter(lambda x: x.needNum <= nums, suisInfos))]
|
|
||||||
# 兼容于判断
|
|
||||||
if suisInfos[0].compatibility is not None and suisInfos[0].compatibility != '':
|
|
||||||
for compatibility in suisInfos[0].compatibility.split(','):
|
|
||||||
# 兼容于的装备数量
|
|
||||||
numsComp = len(list(filter(lambda x: x == compatibility, suits)))
|
|
||||||
# 大于兼容于小于兼容于加上当前套装数量
|
|
||||||
if numsComp > 0:
|
|
||||||
matchSuit += [
|
|
||||||
i.id
|
|
||||||
for i in list(
|
|
||||||
filter(
|
|
||||||
lambda x: x.suitID == compatibility and numsComp < x.needNum <= nums + numsComp,
|
|
||||||
self.equs.suit,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
]
|
|
||||||
for i in matchSuit:
|
|
||||||
fun = self.equs.get_func_by_id(f'suit_{i}')
|
|
||||||
funcs.append(fun + (None,))
|
|
||||||
# endregion
|
|
||||||
funcs.sort(key=lambda x: x[2])
|
funcs.sort(key=lambda x: x[2])
|
||||||
for func in funcs:
|
for func in funcs:
|
||||||
# 站街
|
# 站街
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import importlib
|
||||||
from database.models import Session, EquData, SuitData
|
from database.models import Session, EquData, SuitData
|
||||||
from database.connect import get_db_engine as get_engine
|
from database.connect import get_db_engine as get_engine
|
||||||
from functools import cache
|
from functools import cache
|
||||||
@@ -70,6 +71,7 @@ class Equipments:
|
|||||||
self.version = version
|
self.version = version
|
||||||
self.engine = get_engine(version)
|
self.engine = get_engine(version)
|
||||||
self.equs: list[Equ] = []
|
self.equs: list[Equ] = []
|
||||||
|
self.funs = self.init_func()
|
||||||
self.equ_dict: dict[str, Equ] = {}
|
self.equ_dict: dict[str, Equ] = {}
|
||||||
self.suits: list[Suit] = []
|
self.suits: list[Suit] = []
|
||||||
self.suit_dict: dict[str, Suit] = {}
|
self.suit_dict: dict[str, Suit] = {}
|
||||||
@@ -109,6 +111,14 @@ class Equipments:
|
|||||||
self.suit_dict.setdefault(str(suit.suitId), []).append(suit)
|
self.suit_dict.setdefault(str(suit.suitId), []).append(suit)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def init_func(self):
|
||||||
|
"""根据装备版本加载装备效果"""
|
||||||
|
try:
|
||||||
|
funs = importlib.import_module(f"core.equipment.version_{self.version}")
|
||||||
|
except Exception:
|
||||||
|
funs = importlib.import_module("core.equipment.version_0")
|
||||||
|
return funs
|
||||||
|
|
||||||
def get_suit_info(self, suitId: str | int, point: int = 0, count: int = 0) -> list[Suit]:
|
def get_suit_info(self, suitId: str | int, point: int = 0, count: int = 0) -> list[Suit]:
|
||||||
"""根据套装点数返回对应适用的套装属性\n
|
"""根据套装点数返回对应适用的套装属性\n
|
||||||
新套装只需要传入suitID和point即可,count默认为0\n
|
新套装只需要传入suitID和point即可,count默认为0\n
|
||||||
@@ -141,7 +151,6 @@ class EquEffect:
|
|||||||
self.cd = cd
|
self.cd = cd
|
||||||
self.data = data
|
self.data = data
|
||||||
|
|
||||||
@cache
|
|
||||||
def get_equipment(version: str = '0') -> Equipments:
|
def get_equipment(version: str = '0') -> Equipments:
|
||||||
# print('加载装备信息')
|
# print('加载装备信息')
|
||||||
return Equipments(version)
|
return Equipments(version)
|
||||||
|
|||||||
@@ -25,11 +25,8 @@ def 强化技攻(强化等级, 强化类型, 部位):
|
|||||||
增幅品级底数 = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13}
|
增幅品级底数 = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13}
|
||||||
|
|
||||||
|
|
||||||
def 增幅计算(装备等级, 品质, 强化等级, 版本='GF'):
|
def 增幅计算(装备等级, 品质, 强化等级):
|
||||||
if 版本 == 'GF':
|
return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - 0.00000001) + 增幅品级底数[品质] + (0 if 强化等级 < 12 else 5)
|
||||||
if 品质 == '智慧产物':
|
|
||||||
return 0
|
|
||||||
return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - 0.00000001) + 增幅品级底数[品质] + (0 if 强化等级 < 12 else 5)
|
|
||||||
|
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
@@ -179,8 +176,8 @@ def 勋章计算(装备等级, 品质, 强化等级):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def 武器强化计算(装备等级, 品质, 强化等级, 武器类型, 类型):
|
def 武器强化计算(装备等级, 品质, 强化等级, 武器类型, 类型, 默认系数=0):
|
||||||
武器系数 = 武器类型系数[武器类型][0 if 类型 == '物理' else 1]
|
武器系数 = max(武器类型系数[武器类型][0 if 类型 == '物理' else 1], 默认系数)
|
||||||
return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数)
|
return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数)
|
||||||
|
|
||||||
|
|
||||||
@@ -290,10 +287,9 @@ def 武器冷却惩罚(武器类型, 输出类型):
|
|||||||
# return 武器冷却惩罚系数_HF[武器类型][类型系数]
|
# return 武器冷却惩罚系数_HF[武器类型][类型系数]
|
||||||
|
|
||||||
|
|
||||||
def 武器MP系数(武器类型, 输出类型, 版本='GF') -> float:
|
def 武器MP系数(武器类型, 输出类型) -> float:
|
||||||
类型系数 = 0 if 输出类型 == '物理百分比' else (1 if 输出类型 == '魔法百分比' else 2)
|
类型系数 = 0 if 输出类型 == '物理百分比' else (1 if 输出类型 == '魔法百分比' else 2)
|
||||||
if 版本 == 'GF':
|
return MP系数[武器类型][类型系数]
|
||||||
return MP系数[武器类型][类型系数]
|
|
||||||
|
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
|
|||||||
@@ -3,13 +3,6 @@ from core.basic.equipment import EquEffect
|
|||||||
|
|
||||||
suit_func_list = {}
|
suit_func_list = {}
|
||||||
|
|
||||||
for i in range(0, 300):
|
|
||||||
try:
|
|
||||||
if i not in suit_func_list.keys():
|
|
||||||
suit_func_list[i] = eval(f'suit_{i}')
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# region 潜影暗袭
|
# region 潜影暗袭
|
||||||
|
|
||||||
|
|
||||||
@@ -530,7 +523,7 @@ def suit_37(char: Character):
|
|||||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
||||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
||||||
char.SetBaseStatus(SpeedM=0.15)
|
char.SetStatus(SpeedM=0.15)
|
||||||
char.equ_effect.append(EquEffect(name='元素释放', icon='', cd=15, data=118200))
|
char.equ_effect.append(EquEffect(name='元素释放', icon='', cd=15, data=118200))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -615,6 +608,7 @@ def suit_40(char: Character):
|
|||||||
一被击时,精灵之魂- 5(冷却时间1秒)
|
一被击时,精灵之魂- 5(冷却时间1秒)
|
||||||
- 元素释放伤害量:118,200%
|
- 元素释放伤害量:118,200%
|
||||||
"""
|
"""
|
||||||
|
print("~~~~~~")
|
||||||
suit_37(char)
|
suit_37(char)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -676,7 +670,7 @@ def suit_42(char: Character):
|
|||||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
||||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
||||||
char.SetBaseStatus(SpeedM=0.15)
|
char.SetStatus(SpeedM=0.15)
|
||||||
char.equ_effect.append(EquEffect(name='元素释放', icon='', cd=10, data=181920))
|
char.equ_effect.append(EquEffect(name='元素释放', icon='', cd=10, data=181920))
|
||||||
char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='', cd=5, data=47520))
|
char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='', cd=5, data=47520))
|
||||||
pass
|
pass
|
||||||
@@ -4109,3 +4103,10 @@ def suit_252(char: Character):
|
|||||||
|
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
|
|
||||||
|
for i in range(0, 300):
|
||||||
|
try:
|
||||||
|
if str(i) not in suit_func_list.keys():
|
||||||
|
suit_func_list[str(i)] = eval(f'suit_{i}')
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex flex-wrap gap-4px content-start" :style="{width: `${rowCount * 32}px`}">
|
<div class="flex flex-wrap gap-4px content-start" :style="{width: `${rowCount * 32}px`}">
|
||||||
<template v-for="(equ,_) in equs" :key="_">
|
<template v-for="(equip,_) in equs" :key="_">
|
||||||
<EquipmentIcon :equipment="equ" />
|
<EquipmentIcon :inactive="configStore.config.equips[equip?.itemDetailType ?? '']?.id != equip?.id" :equipment="equip" @click="chooseEqu(equip)" />
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { IEquipment } from '@/api/info/type'
|
import type { IEquipment } from '@/api/info/type'
|
||||||
import { useInfoStore } from '@/stores'
|
import { useConfigStore, useInfoStore } from '@/stores'
|
||||||
import { getImageURL } from '@/utils/images'
|
import { getImageURL } from '@/utils/images'
|
||||||
import EquipmentIcon from '@/components/dnf/Equipment/Icon/index.vue'
|
import EquipmentIcon from '@/components/dnf/Equipment/Icon/index.vue'
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@ const props = defineProps<{
|
|||||||
|
|
||||||
const rowCount = Math.max(props.rowCount ?? 0, 14)
|
const rowCount = Math.max(props.rowCount ?? 0, 14)
|
||||||
const infoStore = useInfoStore()
|
const infoStore = useInfoStore()
|
||||||
|
const configStore = useConfigStore()
|
||||||
|
|
||||||
const equs = computed(() => {
|
const equs = computed(() => {
|
||||||
const items = infoStore.equips.filter(
|
const items = infoStore.equips.filter(
|
||||||
@@ -38,4 +39,10 @@ const equs = computed(() => {
|
|||||||
})
|
})
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const chooseEqu = async(equip: IEquipment | undefined) => {
|
||||||
|
if (equip && configStore.config.equips[equip.itemDetailType]) {
|
||||||
|
configStore.config.equips[equip.itemDetailType].id = equip.id
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user