refactor: 重构复活机制,将复活逻辑整合到dead触发组
1. 新增SkillOverrides的revive_hp和revive_count配置项,替代原独立复活字段 2. 移除所有revive相关的旧配置、解析函数和UI展示逻辑 3. 调整战斗逻辑,从dead触发组的overrides中读取复活配置 4. 更新文档说明,统一复活机制的配置方式 5. 清理冗余的导入和类型定义
This commit is contained in:
@@ -6,7 +6,7 @@ import { CardTriggerType } from "../common/config/CardSet";
|
||||
import { SkillSet, FieldSkillSet } from "../common/config/SkillSet";
|
||||
import {
|
||||
FieldEntry, HeroInfo, TriggerGrouped, SkillTriggerType,
|
||||
getGroupedTriggerName, getFieldSkillName, getReviveSkillName,
|
||||
getGroupedTriggerName, getFieldSkillName,
|
||||
} from "../common/config/heroSet";
|
||||
import { UIID } from "../common/config/GameUIConfig";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
@@ -136,7 +136,7 @@ export class SSkillBoxComp extends CCComp {
|
||||
* 解析技能名称:
|
||||
* 1. 显式设置的卡牌名(最高优先级);
|
||||
* 2. 英雄图鉴模式(hero_uuid>0):从 heroSet 英雄配置解析英雄语境名
|
||||
* (普攻/大招 HSkillInfo.name、trigger 组名、光环 FieldEntry.name、复活 LvReviveEntry.name);
|
||||
* (普攻/大招 HSkillInfo.name、trigger 组名、光环 FieldEntry.name、复活走 dead 组名);
|
||||
* 3. 回退 SkillSet / FieldSkillSet 底座名。
|
||||
*/
|
||||
private resolveSkillName(): string {
|
||||
@@ -170,14 +170,12 @@ export class SSkillBoxComp extends CCComp {
|
||||
private resolveHeroSkillName(): string {
|
||||
const hero = HeroInfo[this.hero_uuid];
|
||||
if (!hero) return "";
|
||||
// 槽位指定:光环/复活/触发组各自取值,未命中直接回退
|
||||
// 槽位指定:光环/触发组各自取值,未命中直接回退(复活已纳入 dead)
|
||||
if (this.hero_slot !== undefined) {
|
||||
if (this.hero_slot === SkillTriggerType.Field) {
|
||||
return getFieldSkillName(hero, this.s_uuid);
|
||||
}
|
||||
if (this.hero_slot === SkillTriggerType.Revive) {
|
||||
return getReviveSkillName(hero, this.s_uuid);
|
||||
}
|
||||
// 复活走 dead 槽位
|
||||
const grouped = hero[this.hero_slot] as TriggerGrouped | undefined;
|
||||
if (grouped?.[this.s_uuid]?.length) return getGroupedTriggerName(grouped, this.s_uuid);
|
||||
return "";
|
||||
@@ -194,10 +192,7 @@ export class SSkillBoxComp extends CCComp {
|
||||
if (hero.field?.some(e => e.uuids.some(u => u.uuid === this.s_uuid))) {
|
||||
return getFieldSkillName(hero, this.s_uuid);
|
||||
}
|
||||
// 复活技能
|
||||
if (hero.revive?.some(e => e.s_uuid === this.s_uuid)) {
|
||||
return getReviveSkillName(hero, this.s_uuid);
|
||||
}
|
||||
// 复活已纳入 dead 触发组,上方 dead 循环已覆盖
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user