diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index 59bd9672..2749a286 100644 Binary files a/backend/dataFiles/dcalc_0.db and b/backend/dataFiles/dcalc_0.db differ diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_50.png b/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_50.png new file mode 100644 index 00000000..9bb5df99 Binary files /dev/null and b/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_50.png differ diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_85.png b/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_85.png new file mode 100644 index 00000000..b54882dc Binary files /dev/null and b/frontend/src/pages/Character/Skill/components/SkillTree/img/awake_85.png differ diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/img/skill.png b/frontend/src/pages/Character/Skill/components/SkillTree/img/skill.png new file mode 100644 index 00000000..a49422b3 Binary files /dev/null and b/frontend/src/pages/Character/Skill/components/SkillTree/img/skill.png differ diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/img/skillActive.png b/frontend/src/pages/Character/Skill/components/SkillTree/img/skillActive.png new file mode 100644 index 00000000..32d80df5 Binary files /dev/null and b/frontend/src/pages/Character/Skill/components/SkillTree/img/skillActive.png differ diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/index.tsx b/frontend/src/pages/Character/Skill/components/SkillTree/index.tsx index 63fdea84..521c9540 100644 --- a/frontend/src/pages/Character/Skill/components/SkillTree/index.tsx +++ b/frontend/src/pages/Character/Skill/components/SkillTree/index.tsx @@ -14,10 +14,15 @@ export default defineComponent({ type: Object as PropType>, default: () => ({}), }, + bindAwake: { + type: Number, + default: ()=>50, + }, }, setup(props) { const skills = computed(() => props.skills) const lvInfo = useVModel(props, 'lvInfo') + const bindAwake = useVModel(props, 'bindAwake') const getSkill = (lvStart: number, lvEnd: number, position: number) => { if (position >= 0) @@ -48,6 +53,13 @@ export default defineComponent({ else activeSkill.value = skill.id } + const awakeSkill_1 = computed(() => + skills.value.find((item) => item.learnLv == 50 && item.type == 'active'), + ) + const awakeSkill_2 = computed(() => + skills.value.find((item) => item.learnLv == 85 && item.type == 'active'), + ) + const actionSkillLv = (skill: ISkill, operation: string) => { if (operation == 'add') { lvInfo.value[skill.id.toString()] = { @@ -71,6 +83,11 @@ export default defineComponent({ } } + const chooseBindAwake = (lv:number) => { + bindAwake.value = lv + console.log(bindAwake.value,lv) + } + const renderSkill = (skill: ISkill, index: number) => { const info = lvInfo.value?.[skill.id.toString()] let color = 'white' @@ -81,7 +98,7 @@ export default defineComponent({
{activeSkill.value == skill.id && renderSkillAction(skill)}
{ e.stopPropagation() chooseSkill(skill) @@ -94,16 +111,33 @@ export default defineComponent({ key={index} > -
+
{info?.lv ?? 0}
+ {skill.learnLv == 100 && ( + <> +
+
chooseBindAwake(50)}> + +
1次
+
+
chooseBindAwake(85)}> + +
2次
+
+
+ + )}
) @@ -112,10 +146,8 @@ export default defineComponent({ const renderSkillAction = (skill: ISkill) => ( <> <> -
-
-
-
+
+
{ @@ -145,7 +177,6 @@ export default defineComponent({ }} >
-
@@ -167,20 +198,24 @@ export default defineComponent({ )} - {lvList.map((lv, index) => ((getSkill(lv, lvList[index + 1] ?? 150, -1) as ISkill[])?.length ?? 0) > 0 ?( -
- {lv == 1 || lv % 10 == 0 ? ( -
{lv}
- ) : ( -
- )} - {columns.map((column, i) => { - const skill = getSkill(lv, lvList[index + 1] ?? 150, column) as ISkill - return skill ? renderSkill(skill, index) :
- })} -
(activeSkill.value = -1)}>
-
- ):(<>))} + {lvList.map((lv, index) => + ((getSkill(lv, lvList[index + 1] ?? 150, -1) as ISkill[])?.length ?? 0) > 0 ? ( +
+ {lv == 1 || lv % 10 == 0 ? ( +
{lv}
+ ) : ( +
+ )} + {columns.map((column, i) => { + const skill = getSkill(lv, lvList[index + 1] ?? 150, column) as ISkill + return skill ? renderSkill(skill, index) :
+ })} +
(activeSkill.value = -1)}>
+
+ ) : ( + <> + ), + )}
) diff --git a/frontend/src/pages/Character/Skill/components/SkillTree/style.scss b/frontend/src/pages/Character/Skill/components/SkillTree/style.scss index 6b7bd45e..ca23eb27 100644 --- a/frontend/src/pages/Character/Skill/components/SkillTree/style.scss +++ b/frontend/src/pages/Character/Skill/components/SkillTree/style.scss @@ -12,3 +12,23 @@ .passive { filter: grayscale(100%) invert(3%) sepia(14%) saturate(874%) hue-rotate(65deg) brightness(105%) contrast(102%); } + +.skill{ + background-image: url('./img/skill.png'); + background-size: 100% 100%; +} + +.skill-active{ + background-image: url('./img/skillActive.png'); + background-size: 100% 100%; +} + +.awake_50{ + background-image: url('./img/awake_50.png'); + background-size: 100% 100%; +} + +.awake_85{ + background-image: url('./img/awake_85.png'); + background-size: 100% 100%; +} diff --git a/frontend/src/pages/Character/Skill/index.vue b/frontend/src/pages/Character/Skill/index.vue index ac191f39..57123a52 100644 --- a/frontend/src/pages/Character/Skill/index.vue +++ b/frontend/src/pages/Character/Skill/index.vue @@ -1,7 +1,7 @@ diff --git a/frontend/src/stores/config.ts b/frontend/src/stores/config.ts index affdfd7a..40d5db62 100644 --- a/frontend/src/stores/config.ts +++ b/frontend/src/stores/config.ts @@ -51,6 +51,7 @@ export interface IConfig { } > sundry: Record + bindAwake: number } const defaultEqusConfig = { @@ -82,6 +83,7 @@ export const useConfigStore = defineStore('configStore', () => { jades: {}, avatar: {}, sundry: {}, + bindAwake: 50 }) const skillCountConfig = ref([]) @@ -107,12 +109,14 @@ export const useConfigStore = defineStore('configStore', () => { jades: {}, avatar: {}, sundry: {}, + bindAwake: 50 } if (!config.value?.equips) config.value.equips = {} if (!config.value?.skills) config.value.skills = {} if (!config.value?.jades) config.value.jades = {} if (!config.value?.avatar) config.value.avatar = {} if (!config.value?.sundry) config.value.sundry = {} + if (!config.value?.bindAwake) config.value.bindAwake = 50 const part = [...infoStore.parts, '宠物', '副武器'].filter( (a) => !config.value?.equips.hasOwnProperty(a),