refactor: 重构复活配置逻辑,移除独立复活编辑器
调整复活配置实现方式,将复活功能并入dead触发组,通过overrides配置复活相关参数,删除原ReviveEditor组件,更新前端常量与页面展示逻辑
This commit is contained in:
@@ -88,12 +88,9 @@
|
||||
|
||||
<!-- 大招 -->
|
||||
<div class="panel">
|
||||
<h3>大招 skills[1](与 revive 互斥)</h3>
|
||||
<template v-if="current.revive.length === 0">
|
||||
<SkillEditor v-if="ultSkill" :skill="ultSkill" :options="ultSkillOptions" :is-ult="true" />
|
||||
<el-button v-else size="small" type="primary" @click="addUltSkill">+ 添加大招</el-button>
|
||||
</template>
|
||||
<el-alert v-else type="info" :closable="false">已配置 revive,大招不可用</el-alert>
|
||||
<h3>大招 skills[1]</h3>
|
||||
<SkillEditor v-if="ultSkill" :skill="ultSkill" :options="ultSkillOptions" :is-ult="true" />
|
||||
<el-button v-else size="small" type="primary" @click="addUltSkill">+ 添加大招</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 触发技能 -->
|
||||
@@ -113,10 +110,12 @@
|
||||
<FieldEditor :model="current.field" :field-options="fieldOptions" />
|
||||
</div>
|
||||
|
||||
<!-- 复活 -->
|
||||
<!-- 复活已纳入 dead 触发组,通过 dead 编辑器的 overrides 配置 revive_hp / revive_count -->
|
||||
<div class="panel">
|
||||
<h3>复活 revive(与大招互斥)</h3>
|
||||
<ReviveEditor :model="current.revive" :revive-options="reviveOptions" />
|
||||
<h3>复活配置(dead 触发组内)</h3>
|
||||
<el-alert type="info" :closable="false" show-icon style="margin-bottom: 10px">
|
||||
复活已纳入 dead 触发组:在 dead 中添加技能(如 6501),并在 overrides 中配置 revive_hp(回血比例%)和 revive_count(次数上限)。
|
||||
</el-alert>
|
||||
</div>
|
||||
|
||||
<!-- 额外加成 -->
|
||||
@@ -152,7 +151,6 @@ import {
|
||||
import SkillEditor from './components/SkillEditor.vue'
|
||||
import TriggerGroupEditor from './components/TriggerGroupEditor.vue'
|
||||
import FieldEditor from './components/FieldEditor.vue'
|
||||
import ReviveEditor from './components/ReviveEditor.vue'
|
||||
import BonusEditor from './components/BonusEditor.vue'
|
||||
|
||||
const heroes = ref([])
|
||||
@@ -165,6 +163,7 @@ const current = computed(() => heroes.value[activeIdx.value])
|
||||
const skillMap = computed(() => meta.value?.SkillSet || {})
|
||||
const allSkills = computed(() => Object.values(skillMap.value).sort((a, b) => a.uuid - b.uuid))
|
||||
const fieldOptions = computed(() => Object.values(meta.value?.FieldSkillSet || {}).sort((a, b) => a.uuid - b.uuid))
|
||||
// 复活已纳入 dead 触发组,通过 dead 编辑器的 overrides 配置 revive_hp / revive_count
|
||||
const reviveOptions = computed(() => allSkills.value.filter((s) => s.uuid >= 6500 && s.uuid < 6600))
|
||||
|
||||
const roleBase = computed(() => {
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-alert type="warning" :closable="false" show-icon style="margin-bottom: 10px">
|
||||
revive 与 skills[1](大招)互斥;配置 revive 时按 lv1/lv8/lv16 三档成长。
|
||||
</el-alert>
|
||||
<div v-for="(r, idx) in model" :key="idx" class="skill-block">
|
||||
<div class="head">
|
||||
<span>复活档位 lv {{ r.lv }}</span>
|
||||
<el-button type="danger" size="small" text @click="model.splice(idx, 1)">删除档位</el-button>
|
||||
</div>
|
||||
<div class="form-grid">
|
||||
<el-form-item label="等级 lv">
|
||||
<el-input-number v-model="r.lv" :min="1" :max="20" :controls="false" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="复活技能 s_uuid">
|
||||
<el-select v-model="r.s_uuid" filterable>
|
||||
<el-option v-for="s in reviveOptions" :key="s.uuid" :label="`${s.uuid} ${s.name}`" :value="s.uuid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="r_num 次数">
|
||||
<el-input-number v-model="r.r_num" :min="1" :controls="false" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="upr 复活血量百分比">
|
||||
<el-input-number v-model="r.upr" :min="0" :max="100" :controls="false" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="名称(仅第1档)" v-if="idx === 0">
|
||||
<el-input v-model="r.name" placeholder="默认:凤凰涅槃" />
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" class="grid-span">
|
||||
<el-input v-model="r.desc" type="textarea" :rows="2" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
<el-button size="small" type="primary" @click="model.push({ lv: 1, s_uuid: 6501, r_num: 1, upr: 30, name: '', desc: '' })">+ 添加复活档位</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
defineProps({
|
||||
model: { type: Array, required: true },
|
||||
reviveOptions: { type: Array, default: () => [] },
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.grid-span { grid-column: 1 / -1; }
|
||||
</style>
|
||||
@@ -73,7 +73,7 @@ export function defaultHero() {
|
||||
fstart: {},
|
||||
dead: {},
|
||||
field: [], // [{lv,uuids:[{uuid,value,name}],desc}]
|
||||
revive: [], // [{lv,s_uuid,r_num,upr,name,desc}]
|
||||
// revive 已纳入 dead 触发组,通过 overrides.revive_hp / revive_count 配置
|
||||
ap_bonus: [],
|
||||
hp_bonus: [],
|
||||
def_bonus: [],
|
||||
@@ -115,4 +115,6 @@ export const OVERRIDE_KEYS = [
|
||||
{ key: 'summon_count', label: 'summon_count 召唤数' },
|
||||
{ key: 'num', label: 'num 额外释放次数' },
|
||||
{ key: 'call_hero', label: 'call_hero 召唤英雄id' },
|
||||
{ key: 'revive_hp', label: 'revive_hp 复活回血比例(%)' },
|
||||
{ key: 'revive_count', label: 'revive_count 复活次数上限' },
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user