This commit is contained in:
2025-06-15 14:05:02 +08:00
parent 547b24860f
commit 21dea5b808
48 changed files with 194 additions and 48754 deletions
+2 -1
View File
@@ -553,6 +553,7 @@ class Character(CharacterProperty):
def calc_init(self, setInfo: dict[str, dict]):
self.equ_options = setInfo.get('options', {})
self.setInfo = setInfo
# 打造信息导入
self.SetDetail(setInfo)
# 技能等级设置
@@ -568,7 +569,7 @@ class Character(CharacterProperty):
skill.up = skills[key].get('up', 0)
if skill.hasVP:
skill.vp = skills[key].get('vp', 0)
skill.lv = skills[key].get('lv', 0)
skill.lv += skills[key].get('lv', 0)
pass
def load_skills(self) -> None:
+1 -1
View File
@@ -208,7 +208,7 @@ class Skill:
else:
setattr(skill, type[1:], getattr(skill, type[1:]) * (1 + data[new] / ratio) / (1 + data[old] / ratio))
elif type.startswith('+'):
if type[1:] == 'lv' and skill.lv == 0:
if type[1:] == 'lv' and self.char.setInfo.get('skills', {}).get(str(skill.id),{}).get('lv',0) == 0:
return
else:
setattr(skill, type[1:], getattr(skill, type[1:]) + data[new] / ratio - data[old] / ratio)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -181,7 +181,7 @@ class Skill11(ActiveSkill):
uuid = "eb71e1d82d92c7e1d40500a0dcd77aa6"
data0 = [0, 3179, 3502, 3823, 4146, 4471, 4791, 5117, 5442, 5765, 6086, 6409, 6732, 7055, 7376, 7699, 8024, 8345, 8670, 8991, 9314, 9637, 9960, 10282, 10605, 10931, 11254, 11579, 11898, 12221, 12546, 12869, 13189, 13512, 13838, 14159, 14481, 14805, 15128, 15450, 15773, 16096, 16417, 16742, 17068, 17389, 17712, 18035, 18358, 18681, 19003, 19326, 19652, 19972, 20295, 20618, 20942, 21262, 21585, 21910, 22231, 22554, 22879, 23202, 23523, 23849, 24171, 24492, 24817, 25140, 25461]# noqa: E501
hit0 = 2
hit0 = 1
# associate = [{"type":"+dataplus0","data":data0,"skills":["心灵反击","溃灭回射"],"ratio":1}]# noqa: E501
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,23 +1,50 @@
#1645c45aabb008c98406b3a16447040d
from core.basic.skill import PassiveSkill, ActiveSkill
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = "swordman_female/sword_master/cn/skillDetail"
# 冥思 냉정함
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/d89f26862e348a801b30bb9fd7125db5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
# 冥思
# swordman_female/sword_master/d89f26862e348a801b30bb9fd7125db5
# 1645c45aabb008c98406b3a16447040d/d89f26862e348a801b30bb9fd7125db5
class Skill0(PassiveSkill):
"""
进行战斗期间, 将根据连击数按比例增加物理或魔法暴击率。\n
增益效果可以重复触发, 但是有触发次数上限。 增益效果重复触发时, 更新现有增益效果的持续时间。
"""
name = "冥思"
learnLv = 1
masterLv = 1
maxLv = 1
position = 5 #TODO
position = 0 #TODO
rangeLv = 3
uuid = "d89f26862e348a801b30bb9fd7125db5"
hasVP = False
hasUP = False
# 触发增益效果所需连击数 : {value0}
# REMOVE: data0 = [0, 5]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0, lambda x = None: x)
# 暴击率增加 : {value1}%
# REMOVE: data1 = [0, 1]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1, lambda x = None: x)
# 暴击率增加上限 : {value2}%
# REMOVE: data2 = [0, 5]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2, lambda x = None: x)
# 增益效果持续时间 : {value3}秒
# REMOVE: data3 = [0, 5]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3, lambda x = None: x)
# 帝国剑术 제국검술
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/b89c9ab317bc0a443f6497b7cca2f6a8?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
# 帝国剑术
# swordman_female/sword_master/b89c9ab317bc0a443f6497b7cca2f6a8
# 1645c45aabb008c98406b3a16447040d/b89c9ab317bc0a443f6497b7cca2f6a8
class Skill1(ActiveSkill):
"""
只传授给帝国剑士的秘密剑术。 根据佩戴的武器不同基本攻击的招式会发生变化。\n
可以结合基本攻击使用, 但施放最后一击后无法衔接基本攻击或[帝国剑术]。\n
可使用[驭剑术]强制中断[帝国剑术]并施放转职技能。
"""
name = "帝国剑术"
learnLv = 1
masterLv = 1
@@ -52,9 +79,14 @@ class Skill1(ActiveSkill):
self.hit3 = 3
# 基础精通 기본기 숙련
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/5a56514f35cf0270ae8d6c65f8fefd78?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
# 基础精通
# swordman_female/sword_master/5a56514f35cf0270ae8d6c65f8fefd78
# 1645c45aabb008c98406b3a16447040d/5a56514f35cf0270ae8d6c65f8fefd78
class Skill2(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [浮空击]的攻击力。\n
在决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
"""
name = "基础精通"
learnLv = 1
masterLv = 115
@@ -64,15 +96,18 @@ class Skill2(PassiveSkill):
uuid = "5a56514f35cf0270ae8d6c65f8fefd78"
icon = "$common/$uuid"
data0 = [0, 150, 158.7, 167.3, 176, 184.5, 193.2, 201.8, 210.5, 219.2, 227.7, 236.4, 245, 253.7, 262.2, 270.9, 284.3, 297.6, 311, 324.3, 337.7, 350.9, 364.2, 377.6, 390.9, 404.3, 417.6, 431, 444.3, 457.7, 471, 484.2, 497.6, 510.9, 524.3, 537.6, 551, 564.3, 577.7, 591, 604.4, 617.7, 630.9, 644.3, 657.6, 671, 684.3, 697.7, 711, 724.4, 737.7, 751.1, 764.3, 777.6, 791, 804.3, 817.7, 831, 844.4, 857.7, 871.1, 884.4, 897.8, 911, 924.3, 937.7, 951, 964.4, 977.7, 991.1, 1004.4, 1017.8, 1031.1, 1044.5, 1057.7, 1071, 1084.4, 1097.7, 1111.1, 1124.4, 1137.8, 1151.1, 1164.5, 1177.8, 1191, 1204.4, 1217.7, 1231.1, 1244.4, 1257.8, 1271.1, 1284.5, 1297.8, 1311.2, 1324.5, 1337.7, 1351.1, 1364.4, 1377.8, 1391.1, 1404.5, 1417.8, 1431.2, 1444.5, 1457.9, 1471.2, 1484.6, 1497.9, 1511.3, 1524.6, 1538, 1551.3, 1564.7, 1578, 1591.4, 1604.7, 1618.1, 1631.4, 1644.8, 1658.1, 1671.5, 1684.8, 1698.2, 1711.5, 1724.9, 1738.2, 1751.6, 1764.9, 1778.3, 1791.6, 1805, 1818.3, 1831.7, 1845, 1858.4, 1871.7, 1885.1, 1898.4, 1911.8, 1925.1, 1938.5, 1951.8, 1965.2, 1978.5, 1991.9, 2005.2, 2018.6, 2031.9, 2045.3, 2058.6, 2072, 2085.3, 2098.7, 2112, 2125.4, 2138.7, 2152.1, 2165.4, 2178.8, 2192.1, 2205.5, 2218.8, 2232.2, 2245.5, 2258.9, 2272.2, 2285.6, 2298.9, 2312.3, 2325.6, 2339, 2352.3, 2365.7, 2379, 2392.4, 2405.7, 2419.1, 2432.4, 2445.8, 2459.1, 2472.5, 2485.8, 2499.2, 2512.5, 2525.9, 2539.2, 2552.6, 2565.9, 2579.3, 2592.6, 2606, 2619.3, 2632.7, 2646, 2659.4, 2672.7, 2686.1, 2699.4, 2712.8, 2726.1, 2739.5]# noqa: E501
hit0 = 1 #TODO
data0 = data0 = get_data(f'{prefix}/{uuid}', 0, lambda x = None: x)
associate = [{"type":"*skillRation","data":[i-100 if i>0 else 0 for i in data0],"skills":["帝国剑术"]}]
# 招架反击 반격
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/2f5d03c7848effbc0a23f4df45d9ca46?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
# 招架反击
# swordman_female/sword_master/2f5d03c7848effbc0a23f4df45d9ca46
# 1645c45aabb008c98406b3a16447040d/2f5d03c7848effbc0a23f4df45d9ca46
class Skill3(ActiveSkill):
"""
[招架]成功后可激活该技能; 使用后, 可以进行2次快速斩击。
"""
name = "招架反击"
learnLv = 15
masterLv = 60
@@ -81,25 +116,45 @@ class Skill3(ActiveSkill):
rangeLv = 2
cdList = [0, 2, 2, 2, 2, 2, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.2, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.7, 2.7, 2.7, 2.7, 2.7, 2.7, 2.7, 2.7, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.9]
uuid = "2f5d03c7848effbc0a23f4df45d9ca46"
damage = False
hasVP = False
hasUP = True
# 斩击攻击力 : {value0}%
# REMOVE: data0 = [0, 2454, 2703, 2952, 3201, 3450, 3699, 3948, 4197, 4446, 4695, 4944, 5193, 5441, 5690, 5939, 6188, 6437, 6686, 6935, 7184, 7433, 7682, 7931, 8180, 8429, 8678, 8927, 9176, 9425, 9674, 9923, 10172, 10421, 10670, 10919, 11167, 11416, 11665, 11914, 12163, 12412, 12661, 12910, 13159, 13408, 13657, 13906, 14155, 14404, 14653, 14902, 15151, 15400, 15649, 15898, 16147, 16396, 16645, 16893, 17142, 17391, 17640, 17889, 18138, 18387, 18636, 18885, 19134, 19383, 19632]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0, lambda x = None: x)
# [范围信息]
# 反击范围比率 : {value1}%
# REMOVE: data1 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1, lambda x = None: x)
def getSkillCD(self,mode=None):
self.cd = self.cdList[self.lv]
return super().getSkillCD()
# 剑术精通 납도
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/4224f9b0b8c7c903e9a1e0f9d9f6d04d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
# 武器熟练
# swordman_female/sword_master/4224f9b0b8c7c903e9a1e0f9d9f6d04d
# 1645c45aabb008c98406b3a16447040d/4224f9b0b8c7c903e9a1e0f9d9f6d04d
class Skill4(PassiveSkill):
name = "剑术精通"
"""
驭剑士精通各种武器, 能够极致地发挥每种武器的特性。\n
学习后, 增加所有武器的精通等级。\n
首次学习时, 可使所有武器精通各提升2级; 以后技能每提升1级时, 武器精通提升1级。\n
可以使用驭剑士专属的基础攻击动作。
"""
name = "武器熟练"
learnLv = 15
masterLv = 1
maxLv = 11
masterLv = 20
maxLv = 30
position = 0 #TODO
rangeLv = 2
rangeLv = 3
uuid = "4224f9b0b8c7c903e9a1e0f9d9f6d04d"
hasVP = False
hasUP = False
associate = [{"type":"+lv","data":[i + 1 if i > 0 else i for i in range(0, maxLv + 2)],"ratio":1,"skills":["波动之钝器精通","血影之太刀精通","毁灭之巨剑精通","魔性之短剑精通"]}]
# 驭剑术 발검술
# https://api.neople.co.kr/df/skills/1645c45aabb008c98406b3a16447040d/78bd107acd474518b606be1e4fd38239?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
@@ -162,7 +217,7 @@ class Skill6(ActiveSkill):
class Skill8(PassiveSkill):
name = "魔性之短剑精通"
learnLv = 15
masterLv = 30
masterLv = 1
maxLv = 40
position = 1 #TODO
rangeLv = 3
@@ -192,7 +247,7 @@ class Skill8(PassiveSkill):
class Skill9(PassiveSkill):
name = "血影之太刀精通"
learnLv = 15
masterLv = 30
masterLv = 1
maxLv = 40
position = 2 #TODO
rangeLv = 3
@@ -227,7 +282,7 @@ class Skill9(PassiveSkill):
class Skill10(PassiveSkill):
name = "毁灭之巨剑精通"
learnLv = 15
masterLv = 30
masterLv = 1
maxLv = 40
position = 4 #TODO
rangeLv = 3
@@ -257,7 +312,7 @@ class Skill10(PassiveSkill):
class Skill11(PassiveSkill):
name = "波动之钝器精通"
learnLv = 15
masterLv = 30
masterLv = 1
maxLv = 40
position = 5 #TODO
rangeLv = 3
@@ -950,3 +1005,15 @@ class classChange(Character):
self.职业 = '驭剑士'
super().__init__(equVersion, __name__)
def AddSkillLv(self, min: int, max: int, lv: int, type=-1, exceptSkills:list[str]=[]) -> None:
"""
增加技能等级
type: -1 全部, 0 被动, 1 主动
"""
for skill in self.skills:
# 四个武器精通不享受技能范围等级加成
if min <= skill.learnLv <= max and skill.name not in ["波动之钝器精通","血影之太刀精通","毁灭之巨剑精通","魔性之短剑精通"] + exceptSkills:
skillType = "all" if type == -1 else ("active" if type == 1 else "passive")
if (skillType == "all" or skill.type == skillType) and skill.lv > 0:
skill.lv += lv
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -8
View File
@@ -9,13 +9,7 @@ from . import suit
from .register import execture
options = [
{'id': 1, 'name': '龙战八荒', 'options': ['BUFF OFF', 'BUFF ON', '期望']},
{'id': 2, 'name': '混沌净化', 'options': ['净化', '堕落']},
{'id': 3, 'name': '群猎美学', 'options': ['单刷', '组队']},
{'id': 4, 'name': '魔攻核', 'options': ['普通', '追击']},
{'id': 5,'name':'传世手杖','options':['BUFF ON', 'BUFF OFF', '期望']}
]
options = [{'id': 1, 'name': '龙战八荒', 'options': ['BUFF OFF', 'BUFF ON', '期望']}, {'id': 2, 'name': '混沌净化', 'options': ['净化', '堕落']}, {'id': 3, 'name': '群猎美学', 'options': ['单刷', '组队']}, {'id': 4, 'name': '魔攻核', 'options': ['普通', '追击']}, {'id': 5, 'name': '传世手杖', 'options': ['BUFF ON', 'BUFF OFF', '期望']}, {'id': 6, 'name': '传世嵌合弓', 'options': ['本能飞跃', '非理性着陆']}]
sundryList = {
'medal_rarity': {'id': 0, 'options': [{'name': f'品质:{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说', '史诗'])]},
@@ -35,4 +29,3 @@ sundryList = {
}
__all__ = [get_dress_list, calc_dress_effect, options, execture, sundryList, equ, stone, jade, emblem, enchant, sundry, suit]
+43
View File
@@ -12571,6 +12571,49 @@ def equ_876(char: CharacterProperty):
equ_414(char)
pass
@register
def equ_877(char: CharacterProperty):
...
@register
def equ_878(char: CharacterProperty):
...
@register
def equ_879(char: CharacterProperty):
...
@register
def equ_880(char: CharacterProperty):
...
@register
def equ_881(char: CharacterProperty):
...
@register
def equ_882(char: CharacterProperty):
if char.equ_options.get('6', 0) == 0:
char.SetStatus(SkillAttack=0.123)
elif char.equ_options.get('6', 0) == 1:
char.SetSkillCD(cd=0.2)
...
@register
def equ_883(char: CharacterProperty):
if char.equ_options.get('6', 0) == 0:
char.SetStatus(SkillAttack=0.123)
elif char.equ_options.get('6', 0) == 1:
char.SetSkillCD(cd=0.2)
...
@register
def equ_884(char: CharacterProperty):
if char.equ_options.get('6', 0) == 0:
char.SetStatus(SkillAttack=0.123)
elif char.equ_options.get('6', 0) == 1:
char.SetSkillCD(cd=0.2)
...
# endregion
# region 秘宝装备
Binary file not shown.
+1
View File
@@ -15,6 +15,7 @@ def custom_route_mapper(route: HTTPRoute, mcp_type: MCPType) -> MCPType | None:
mcp = FastMCP.from_fastapi(
app=application,
name="Dcalc_MCP",
instructions="DNF相关的MCP服务",
timeout=60,
port=config.MCPPORT,
route_map_fn=custom_route_mapper,
@@ -89,7 +89,7 @@ export default defineComponent({
const renderSkillDetail = () => (
<>
<div class="title">基本信息</div>
<div class="skill_title">基本信息</div>
<div class="flex flex-col gap-2px">
{basic.value.map(
(item) =>
@@ -101,7 +101,7 @@ export default defineComponent({
),
)}
</div>
<div class="title">技能描述</div>
<div class="skill_title">技能描述</div>
<div class="h-auto max-h-250px">
<div class="h-full overflow-y-auto bg-#161816 p-2px">
{desc.value?.map((item) => item.startsWith("[") ? (<div class="min-h-10px">{item}</div>) :(
@@ -109,7 +109,7 @@ export default defineComponent({
))}
</div>
</div>
<div class="title">技能属性</div>
<div class="skill_title">技能属性</div>
<div class="flex-1 overflow-y-auto">
<div class=" flex flex-col gap-2px">
{detail.value?.map((item) => (
@@ -127,8 +127,8 @@ export default defineComponent({
{skillInfo.value?.evolution?.map((item) => (
<>
<div class="flex flex-col gap-2px">
<div class="skill_vp_title">{item.name}</div>
<div class="title">技能描述</div>
<div class="skill_vp_skill_title">{item.name}</div>
<div class="skill_title">技能描述</div>
<div class="h-auto max-h-200px">
<div class="h-full bg-#161816 p-2px" style="white-space: pre-wrap;">
{item.descDetail}
@@ -151,7 +151,7 @@ export default defineComponent({
return () => (
<>
<div class="flex flex-col gap-2px mx-2px text-#907B54 h-full">
<div class="skill_title h-20px">{skillInfo.value?.name}</div>
<div class="skill_name h-20px">{skillInfo.value?.name}</div>
<div class="relative">
<CalcTabs v-model={curTab.value}>
<CalcTab class="flex-1 flex justify-center" value={0}>
@@ -1,4 +1,4 @@
.skill_title {
.skill_name {
border-width: 1px;
border-style: solid;
border-image-source: linear-gradient(90deg, #7d5f07 0%, #2e302e 100%);
@@ -66,7 +66,7 @@
}
}
.title{
.skill_title{
border: 1px solid #3e4040;
color: #c1a238;
background: linear-gradient(180deg, #2b292b 0%, #0b0b0b 100%);
@@ -235,10 +235,10 @@ export default defineComponent({
return () => (
<>
<div onClick={() => (activeSkill.value = -1)} class="pb-40px">
<div onClick={() => (activeSkill.value = -1)}>
{((getSkill(0, 15, -1) ?? []) as ISkill[]).length > 0 && (
<>
<div class="skill-tree-line flex items-center gap-10px px-10px">
<div class="skill-tree-line flex items-center gap-8px px-5px">
<div class="w-34px h-34px flex items-center justify-center text-white">
其<br />余
</div>
@@ -251,7 +251,7 @@ export default defineComponent({
{lvList.map((lv, index) =>
((getSkill(lv, lvList[index + 1] ?? 150, -1) as ISkill[])?.length ?? 0) > 0 ? (
<div class="skill-tree-line flex items-center gap-10px px-10px" key={index}>
<div class="skill-tree-line flex items-center gap-8px px-5px" key={index}>
{lv == 1 || lv % 10 == 0 ? (
<div class="w-34px h-34px flex items-center justify-center text-white">{lv}</div>
) : (
@@ -261,7 +261,7 @@ export default defineComponent({
const skill = getSkill(lv, lvList[index + 1] ?? 150, column) as ISkill
return skill ? renderSkill(skill, index) : <div class="w-34px h-34px"></div>
})}
<div class="w-20px h-34px" onClick={() => (activeSkill.value = -1)}></div>
<div class="w-5px h-34px" onClick={() => (activeSkill.value = -1)}></div>
</div>
) : (
<></>
@@ -147,7 +147,7 @@ export default defineComponent({
</div>
<div class="right">
<div class="title text-16px text-center leading-48px">目标技能</div>
<div class="flex flex-wrap gap-8px content-start h-110px overflow-y-auto mb-8px w-275px">
<div class="flex flex-wrap gap-8px content-start h-110px overflow-y-auto mb-8px w-245px m-auto">
{renderList(skills().value, (item) => (
<div
key={item.id}
@@ -156,7 +156,7 @@ export default defineComponent({
<img src={getImageURL(item.icon)} alt={item.name} />
</div>
))}
{renderList(35 - skills().value.length, (item) => (
{renderList(36 - skills().value.length, (item) => (
<div
key={item}
class="w-[28px] h-[28px] rounded-[1px] border-[1px] border-solid border-[#6d4e2b] bg-[linear-gradient(180deg,_#191919_0%,_#000000_100%)] [box-shadow:0px_4px_4px_#00000040_inset] rounded-4px"
@@ -1,5 +1,5 @@
.skill-up {
width: 550px;
width: 540px;
// height: 334px;
// background-image: url('./img/bg.png');
// background-size: 100% 100%;
@@ -40,7 +40,7 @@
.right {
.title {
width: 271px;
width: 261px;
height: 48px;
background: url('./img/title.png') no-repeat center center;
}
+27 -17
View File
@@ -1,6 +1,6 @@
<template>
<div class="flex">
<div>
<div class="flex flex-col">
<div class="flex bg-#101012 h-40px text-#6C5E4A font-bold">
<div
class="flex-1 text-15px flex items-center justify-center"
@@ -18,8 +18,8 @@
技能定制
</div>
</div>
<div class="h-90vh w-570px overflow-x-hidden bg-#101012">
<div class="overflow-y-auto h-full" v-if="tab === 0">
<div class="flex-1 w-550px overflow-x-hidden bg-#101012">
<div class="overflow-y-auto h-full box-border" v-if="tab === 0">
<SkillTree
:skills="infoStore.skills"
v-model:lvInfo="configStore.config.skills"
@@ -28,9 +28,7 @@
></SkillTree>
</div>
<div v-if="tab === 1" class="flex flex-col overflow-y-hidden h-full">
<div class="item-head" @click="linkColg">
技能进化<span class="font-bold text-white">[形态爆料演示戳我]</span>
</div>
<div class="item-head" 角色等级>技能进化</div>
<SkillUP
class="flex-1"
:skills="infoStore.skills"
@@ -38,9 +36,7 @@
v-model:bindAwake="configStore.config.bindAwake"
:buffer="infoStore.infos?.buffer"
></SkillUP>
<div class="item-head" @click="linkColg">
技能突破<span class="font-bold text-white">[形态爆料演示戳我]</span>
</div>
<div class="item-head" 角色等级>技能突破</div>
<div class="flex-1 overflow-y-auto w-full">
<SkillVP
:skills="infoStore.skills"
@@ -52,12 +48,26 @@
</div>
</div>
</div>
<div class="bg-#101012 w-250px h-full overflow-x-auto" v-if="curCurrentSkill.skillId && curCurrentSkill.level > 0">
<SkillDetail
:skillId="curCurrentSkill.skillId"
:level="curCurrentSkill.level"
></SkillDetail>
<div
class="bg-#101012 w-250px h-full overflow-x-auto"
v-if="curCurrentSkill.skillId && curCurrentSkill.level > 0"
>
<SkillDetail :skillId="curCurrentSkill.skillId" :level="curCurrentSkill.level"></SkillDetail>
</div>
<!-- <div class="absolute right--60px">
<div class="text-#AE8D5A h-60px bg-black p-1px box-border flex pl-2">
<div
class="border-1px border-solid border-#322E20 border-l-none flex p-1px box-border pl-0"
>
<div
class="border-1px border-#514531 border-solid rounded-2px"
style="background: linear-gradient(to bottom, #313330 0%, #0f110f 100%)"
>
技能详细
</div>
</div>
</div>
</div> -->
</div>
</template>
@@ -78,15 +88,15 @@ const configStore = useConfigStore()
const curSkillId = ref()
const curCurrentSkill = computed(() => {
const skill = infoStore.skills.find(skill => skill.uuid === curSkillId.value)
const skill = infoStore.skills.find((skill) => skill.uuid === curSkillId.value)
return {
skillId: skill?.uuid ?? "",
skillId: skill?.uuid ?? '',
level: configStore.config.skills[skill?.id || 0]?.lv || 0,
}
})
const setCurrentSkill = (skillId: number) => {
curSkillId.value = infoStore.skills.find(skill => skill.id === skillId)?.uuid || ''
curSkillId.value = infoStore.skills.find((skill) => skill.id === skillId)?.uuid || ''
}
const linkColg = () => {