refactor: 重构复活机制,将复活逻辑整合到dead触发组
1. 新增SkillOverrides的revive_hp和revive_count配置项,替代原独立复活字段 2. 移除所有revive相关的旧配置、解析函数和UI展示逻辑 3. 调整战斗逻辑,从dead触发组的overrides中读取复活配置 4. 更新文档说明,统一复活机制的配置方式 5. 清理冗余的导入和类型定义
This commit is contained in:
@@ -22,7 +22,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { oops } from "db://oops-framework/core/Oops";
|
||||
import { mLogger } from "../common/Logger";
|
||||
import { HeroInfo, HeroList, SkillTriggerType, LvFieldEntry, LvReviveEntry, LvTriggerEntry, TriggerGrouped, getHeroDisplayStats } from "../common/config/heroSet";
|
||||
import { HeroInfo, HeroList, SkillTriggerType, LvFieldEntry, LvTriggerEntry, TriggerGrouped, getHeroDisplayStats } from "../common/config/heroSet";
|
||||
import { buildHeroSkillDesc } from "../common/HeroSkillText";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { HERO_UPGRADE_NEED_FRAGMENTS, RARITY_BG_COLORS } from "../common/config/GameSet";
|
||||
@@ -493,7 +493,6 @@ export class HerosListComp extends CCComp {
|
||||
SkillTriggerType.Field,
|
||||
SkillTriggerType.Atking,
|
||||
SkillTriggerType.Atked,
|
||||
SkillTriggerType.Revive,
|
||||
]
|
||||
|
||||
/**
|
||||
@@ -527,8 +526,6 @@ export class HerosListComp extends CCComp {
|
||||
for (const type of HerosListComp.PANEL_TRIGGER_TYPES) {
|
||||
if (type === SkillTriggerType.Field) {
|
||||
this.addFieldIcons(hero[SkillTriggerType.Field], lv)
|
||||
} else if (type === SkillTriggerType.Revive) {
|
||||
this.addReviveIcon(hero[SkillTriggerType.Revive], lv)
|
||||
} else {
|
||||
this.addTriggerIcons(hero[type] as TriggerGrouped | undefined, lv, type)
|
||||
}
|
||||
@@ -584,15 +581,9 @@ export class HerosListComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
/** 复活技能:未激活取最低档预览,激活取 ≤lv 最大档 */
|
||||
private addReviveIcon(revive: LvReviveEntry[] | undefined, lv: number) {
|
||||
if (!revive?.length) return
|
||||
const sorted = [...revive].sort((a, b) => a.lv - b.lv)
|
||||
let active: LvReviveEntry | undefined
|
||||
for (const e of sorted) { if (e.lv <= lv) active = e }
|
||||
const pick = active ?? sorted[0]
|
||||
// 复活档位无 s_lv 概念,技能等级恒为 1(等级标签展示技能等级而非解锁的英雄等级)
|
||||
this.addSkillIcon(pick.s_uuid, 1, !active, false, SkillTriggerType.Revive)
|
||||
/** 复活技能已纳入 dead 触发组,通过 dead 配置展示(revive_hp / revive_count) */
|
||||
private addReviveIcon(_revive: unknown, _lv: number) {
|
||||
// 复活已纳入 dead 触发组,不再单独处理
|
||||
}
|
||||
|
||||
// ======================== 英雄动画 ========================
|
||||
|
||||
Reference in New Issue
Block a user