dev
This commit is contained in:
@@ -81,8 +81,9 @@ async def get_skill_info(
|
|||||||
if detail and len(detail) > 0:
|
if detail and len(detail) > 0:
|
||||||
skill_info['levelInfo'].update(detail[0])
|
skill_info['levelInfo'].update(detail[0])
|
||||||
skill_info['levelInfo']['detail'] = skill_info['levelInfo'].get('optionDesc', '')
|
skill_info['levelInfo']['detail'] = skill_info['levelInfo'].get('optionDesc', '')
|
||||||
for key in skill_info['levelInfo']['optionValue'].keys():
|
if skill_info['levelInfo']['optionValue'] is not None:
|
||||||
skill_info['levelInfo']['detail'] = skill_info['levelInfo']['detail'].replace(f'{{{key}}}', str(skill_info['levelInfo']['optionValue'][key]))
|
for key in skill_info['levelInfo']['optionValue'].keys():
|
||||||
|
skill_info['levelInfo']['detail'] = skill_info['levelInfo']['detail'].replace(f'{{{key}}}', str(skill_info['levelInfo']['optionValue'][key]))
|
||||||
del skill_info['levelInfo']['rows']
|
del skill_info['levelInfo']['rows']
|
||||||
skill_info['attribute'] = {}
|
skill_info['attribute'] = {}
|
||||||
skill_info['attribute'].update(skill_info['levelInfo'])
|
skill_info['attribute'].update(skill_info['levelInfo'])
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ def 勋章计算(装备等级, 品质, 强化等级):
|
|||||||
'玄机弓': (1.108, 1.09),
|
'玄机弓': (1.108, 1.09),
|
||||||
'强攻弩': (1.12, 1.09),
|
'强攻弩': (1.12, 1.09),
|
||||||
'妖影弓': (1.095, 1.1),
|
'妖影弓': (1.095, 1.1),
|
||||||
|
'嵌合弓': (1.1, 1.085),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -348,7 +349,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'圣职者(男)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5),
|
'圣职者(男)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5),
|
||||||
'圣职者(女)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5),
|
'圣职者(女)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5),
|
||||||
# todo
|
# todo
|
||||||
'弓箭手': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5),
|
'弓箭手': (4.6, 4.6, 4.4, 4.4, 6.5, 6.5, 5.5, 5.5),
|
||||||
}
|
}
|
||||||
|
|
||||||
# 力量 体力 智力 精神
|
# 力量 体力 智力 精神
|
||||||
@@ -373,6 +374,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'枪炮师-神枪手(女)': (5.5, 5.5, 3.5, 3.5),
|
'枪炮师-神枪手(女)': (5.5, 5.5, 3.5, 3.5),
|
||||||
'机械师-神枪手(女)': (3.5, 3.5, 5.5, 5.5),
|
'机械师-神枪手(女)': (3.5, 3.5, 5.5, 5.5),
|
||||||
'弹药专家-神枪手(女)': (4.7, 4.3, 4.7, 4.3),
|
'弹药专家-神枪手(女)': (4.7, 4.3, 4.7, 4.3),
|
||||||
|
'协战师-神枪手(女)': (3.5, 5.5, 3.5, 5.5),
|
||||||
'漫游枪手-神枪手(男)': (5.5, 5.5, 3.5, 3.5),
|
'漫游枪手-神枪手(男)': (5.5, 5.5, 3.5, 3.5),
|
||||||
'枪炮师-神枪手(男)': (5.5, 5.5, 3.5, 3.5),
|
'枪炮师-神枪手(男)': (5.5, 5.5, 3.5, 3.5),
|
||||||
'机械师-神枪手(男)': (3.5, 3.5, 5.5, 5.5),
|
'机械师-神枪手(男)': (3.5, 3.5, 5.5, 5.5),
|
||||||
@@ -421,6 +423,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'旅人-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
'旅人-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
||||||
'猎人-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
'猎人-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
||||||
'妖护使-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
'妖护使-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
||||||
|
'奇美拉-弓箭手': (5.5, 5.5, 3.5, 3.5),
|
||||||
}
|
}
|
||||||
|
|
||||||
# 火抗 冰抗 光抗 暗抗
|
# 火抗 冰抗 光抗 暗抗
|
||||||
@@ -446,6 +449,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'枪炮师-神枪手(女)': (23, 23, 23, 23),
|
'枪炮师-神枪手(女)': (23, 23, 23, 23),
|
||||||
'机械师-神枪手(女)': (23, 23, 23, 23),
|
'机械师-神枪手(女)': (23, 23, 23, 23),
|
||||||
'弹药专家-神枪手(女)': (23, 23, 23, 23),
|
'弹药专家-神枪手(女)': (23, 23, 23, 23),
|
||||||
|
'协战师-神枪手(女)': (23, 23, 23, 23),
|
||||||
'漫游枪手-神枪手(男)': (23, 23, 23, 23),
|
'漫游枪手-神枪手(男)': (23, 23, 23, 23),
|
||||||
'枪炮师-神枪手(男)': (23, 23, 23, 23),
|
'枪炮师-神枪手(男)': (23, 23, 23, 23),
|
||||||
'机械师-神枪手(男)': (23, 23, 23, 23),
|
'机械师-神枪手(男)': (23, 23, 23, 23),
|
||||||
@@ -494,6 +498,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'旅人-弓箭手': (23, 23, 23, 23),
|
'旅人-弓箭手': (23, 23, 23, 23),
|
||||||
'猎人-弓箭手': (23, 23, 23, 23),
|
'猎人-弓箭手': (23, 23, 23, 23),
|
||||||
'妖护使-弓箭手': (23, 23, 23, 23),
|
'妖护使-弓箭手': (23, 23, 23, 23),
|
||||||
|
'奇美拉-弓箭手': (23, 23, 23, 23),
|
||||||
}
|
}
|
||||||
|
|
||||||
# 出血 中毒 灼伤 感电 冰冻 减速 眩晕 诅咒 失明 石化 睡眠 混乱 束缚
|
# 出血 中毒 灼伤 感电 冰冻 减速 眩晕 诅咒 失明 石化 睡眠 混乱 束缚
|
||||||
@@ -516,6 +521,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'源能专家-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'源能专家-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'漫游枪手-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'漫游枪手-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'枪炮师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'枪炮师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
'协战师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'机械师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'机械师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'弹药专家-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'弹药专家-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'漫游枪手-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'漫游枪手-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
@@ -566,6 +572,7 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
'旅人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'旅人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'猎人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'猎人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
'妖护使-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
'妖护使-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
'奇美拉-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -198,7 +198,7 @@ adv = [
|
|||||||
{'id': 1, 'name': 'traveler', 'title': '聆风·旅人', 'open': False},
|
{'id': 1, 'name': 'traveler', 'title': '聆风·旅人', 'open': False},
|
||||||
{'id': 2, 'name': 'hunter', 'title': '聆风·猎人', 'open': False},
|
{'id': 2, 'name': 'hunter', 'title': '聆风·猎人', 'open': False},
|
||||||
{'id': 3, 'name': 'vigilante', 'title': '聆风·妖护使', 'open': False},
|
{'id': 3, 'name': 'vigilante', 'title': '聆风·妖护使', 'open': False},
|
||||||
{'id': 4, 'name': 'chimera', 'title': '聆风·奇美拉', 'open': False, 'class': 'GF.archer.chimera'},
|
{'id': 4, 'name': 'chimera', 'title': '聆风·奇美拉', 'open': True, 'class': 'GF.archer.chimera'},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,14 +57,18 @@ export default defineComponent({
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
const desc = computed(() => skillInfo.value?.descDetail.split('\n').filter((item) => !!item))
|
const desc = computed(() => skillInfo.value?.descDetail.split('\n'))
|
||||||
|
|
||||||
const detail = computed(() => {
|
const detail = computed(() => {
|
||||||
const items = skillInfo.value?.attribute.optionDesc.split('\n').filter((item) => !!item)
|
const items = skillInfo.value?.attribute.optionDesc?.split('\n').filter((item) => !!item) ?? []
|
||||||
const details = items?.map((a) => {
|
const details = items?.map((a) => {
|
||||||
|
const beforeReplace = a.match(/^(.+?\s*:\s*[^\{]+)(\{value\d+\}.*)$/)
|
||||||
|
if(beforeReplace) {
|
||||||
|
a = `${beforeReplace[1]}<span class="skill_info_value">${beforeReplace[2]}</span>`
|
||||||
|
}
|
||||||
const matches = a.match(/{([^}]+)}/g)
|
const matches = a.match(/{([^}]+)}/g)
|
||||||
if (matches) {
|
if (matches) {
|
||||||
matches.forEach((match, index) => {
|
matches.forEach((match) => {
|
||||||
const key = match.replace(/[{}]/g, '')
|
const key = match.replace(/[{}]/g, '')
|
||||||
// Only access if key matches the expected pattern
|
// Only access if key matches the expected pattern
|
||||||
if (/^value.+/.test(key)) {
|
if (/^value.+/.test(key)) {
|
||||||
@@ -72,7 +76,7 @@ export default defineComponent({
|
|||||||
if (value) {
|
if (value) {
|
||||||
a = a.replace(
|
a = a.replace(
|
||||||
match,
|
match,
|
||||||
`<span style="${index == 0 ? 'margin-left:auto;' : ''};padding:0px 2px;color:#4AA256">${value}</span>`,
|
`<span style="padding:0px 2px;color:#4AA256">${value}</span>`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -98,16 +102,16 @@ export default defineComponent({
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div class="title">技能描述</div>
|
<div class="title">技能描述</div>
|
||||||
<div class="h-auto max-h-200px">
|
<div class="h-auto max-h-250px">
|
||||||
<div class="h-full overflow-y-auto bg-#161816 p-2px">
|
<div class="h-full overflow-y-auto bg-#161816 p-2px">
|
||||||
{desc.value?.map((item) => (
|
{desc.value?.map((item) => item.startsWith("[") ? (<div class="min-h-10px">{item}</div>) :(
|
||||||
<span style="white-space: pre-wrap;text-indent:20px;">{item}</span>
|
<div class="min-h-10px" style="text-indent:20px;">{item}</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="title">技能属性</div>
|
<div class="title">技能属性</div>
|
||||||
<div class="flex-1">
|
<div class="flex-1 overflow-y-auto">
|
||||||
<div class="overflow-y-auto h-full flex flex-col gap-2px">
|
<div class=" flex flex-col gap-2px">
|
||||||
{detail.value?.map((item) => (
|
{detail.value?.map((item) => (
|
||||||
<div class="flex justify-between item items-center" v-html={item}></div>
|
<div class="flex justify-between item items-center" v-html={item}></div>
|
||||||
))}
|
))}
|
||||||
@@ -119,14 +123,14 @@ export default defineComponent({
|
|||||||
const renderSkillVp = () => (
|
const renderSkillVp = () => (
|
||||||
<>
|
<>
|
||||||
<div class="h-auto">
|
<div class="h-auto">
|
||||||
<div class="h-full overflow-y-auto flex flex-col gap-5px">
|
<div class="h-full flex flex-col gap-5px">
|
||||||
{skillInfo.value?.evolution?.map((item) => (
|
{skillInfo.value?.evolution?.map((item) => (
|
||||||
<>
|
<>
|
||||||
<div class="flex flex-col gap-2px">
|
<div class="flex flex-col gap-2px">
|
||||||
<div class="skill_vp_title">{item.name}</div>
|
<div class="skill_vp_title">{item.name}</div>
|
||||||
<div class="title">技能描述</div>
|
<div class="title">技能描述</div>
|
||||||
<div class="h-auto max-h-200px">
|
<div class="h-auto max-h-200px">
|
||||||
<div class="h-full overflow-y-auto bg-#161816 p-2px" style="white-space: pre-wrap;">
|
<div class="h-full bg-#161816 p-2px" style="white-space: pre-wrap;">
|
||||||
{item.descDetail}
|
{item.descDetail}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -140,7 +144,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
skillInfo.value?.evolution?.length == 0 && (curTab.value = 0)
|
(skillInfo.value?.evolution?.length ?? 0) == 0 && (curTab.value = 0)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -151,14 +155,14 @@ export default defineComponent({
|
|||||||
<div class="relative">
|
<div class="relative">
|
||||||
<CalcTabs v-model={curTab.value}>
|
<CalcTabs v-model={curTab.value}>
|
||||||
<CalcTab class="flex-1 flex justify-center" value={0}>
|
<CalcTab class="flex-1 flex justify-center" value={0}>
|
||||||
原技能描述
|
技能信息
|
||||||
</CalcTab>
|
</CalcTab>
|
||||||
<CalcTab
|
<CalcTab
|
||||||
class="flex-1 flex justify-center"
|
class="flex-1 flex justify-center"
|
||||||
value={1}
|
value={1}
|
||||||
disabled={!skillInfo.value?.evolution?.length}
|
disabled={!skillInfo.value?.evolution?.length}
|
||||||
>
|
>
|
||||||
技能进化描述
|
技能进化
|
||||||
</CalcTab>
|
</CalcTab>
|
||||||
</CalcTabs>
|
</CalcTabs>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -86,3 +86,13 @@
|
|||||||
color:#4AA256;
|
color:#4AA256;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.skill_info_value{
|
||||||
|
white-space: nowrap;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-left:auto;
|
||||||
|
display: flex;
|
||||||
|
margin-top: auto;
|
||||||
|
color:#4AA256;
|
||||||
|
}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ export default defineComponent({
|
|||||||
const renderSkillAction = (skill: ISkill) => (
|
const renderSkillAction = (skill: ISkill) => (
|
||||||
<>
|
<>
|
||||||
<>
|
<>
|
||||||
<div class="absolute skill-active w-88px h-78px translate-x--50% left-16px top--1px">
|
<div class="absolute skill-active w-88px h-78px translate-x--50% left-16px top--1px z-5">
|
||||||
<div class="flex justify-between items-center px-5px relative top-54px">
|
<div class="flex justify-between items-center px-5px relative top-54px">
|
||||||
<CalcButton
|
<CalcButton
|
||||||
icon="min"
|
icon="min"
|
||||||
@@ -235,7 +235,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
return () => (
|
return () => (
|
||||||
<>
|
<>
|
||||||
<div onClick={() => (activeSkill.value = -1)}>
|
<div onClick={() => (activeSkill.value = -1)} class="pb-40px">
|
||||||
{((getSkill(0, 15, -1) ?? []) as ISkill[]).length > 0 && (
|
{((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-10px px-10px">
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-#101012 flex-1 max-w-250px h-full" v-if="curCurrentSkill.skillId">
|
<div class="bg-#101012 w-250px h-full overflow-x-auto" v-if="curCurrentSkill.skillId && curCurrentSkill.level > 0">
|
||||||
<SkillDetail
|
<SkillDetail
|
||||||
:skillId="curCurrentSkill.skillId"
|
:skillId="curCurrentSkill.skillId"
|
||||||
:level="curCurrentSkill.level"
|
:level="curCurrentSkill.level"
|
||||||
|
|||||||
Reference in New Issue
Block a user