refactor: 移除战斗结束相关的FEnd触发逻辑

此次提交全面清理了所有与战斗结束(FEnd)相关的代码:
1. 移除了Hero、Monster等实体中的fend属性与运行时处理
2. 删除了SkillTriggerHelper中的FEnd触发分支
3. 移除了GameEvent中的FightEnd事件与相关监听
4. 清理了配置文件中的FEnd相关枚举、字段与装备
5. 重构了MissionComp的回合逻辑,不再触发战后技能
6. 更新了注释与文档,移除过时的FEnd相关说明

彻底移除了已不再使用的战斗结束触发机制,简化了代码架构。
This commit is contained in:
pan
2026-08-14 15:28:22 +08:00
parent d759689269
commit 2d11246838
20 changed files with 386 additions and 101 deletions

View File

@@ -133,7 +133,6 @@ export class Hero extends ecs.Entity {
model.call = hero.call;
model.dead = hero.dead;
model.fstart = hero.fstart;
model.fend = hero.fend;
model.atking = hero.atking;
model.atked = hero.atked;
model.field = hero.field;
@@ -172,7 +171,6 @@ export class Hero extends ecs.Entity {
model.runtime_call = resolveTriggerByLv(model.call, hero_lv);
model.runtime_dead = resolveTriggerByLv(model.dead, hero_lv);
model.runtime_fstart = resolveTriggerByLv(model.fstart, hero_lv);
model.runtime_fend = resolveTriggerByLv(model.fend, hero_lv);
model.runtime_atking = resolveTriggerByLv(model.atking, hero_lv);
model.runtime_atked = resolveTriggerByLv(model.atked, hero_lv);
model.runtime_field = resolveFieldByLv(model.field, hero_lv);

View File

@@ -47,7 +47,6 @@ export class HeroAttrsComp extends ecs.Comp {
[SkillTriggerType.Call]?: TriggerGrouped;
[SkillTriggerType.Dead]?: TriggerGrouped;
[SkillTriggerType.FStart]?: TriggerGrouped;
[SkillTriggerType.FEnd]?: TriggerGrouped;
[SkillTriggerType.Atking]?: TriggerGrouped;
[SkillTriggerType.Atked]?: TriggerGrouped;
/** 驻场光环(按 lv 解锁,存活期间全局生效) */
@@ -68,8 +67,6 @@ export class HeroAttrsComp extends ecs.Comp {
runtime_dead?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
/** 当前等级下生效的战前触发条目 */
runtime_fstart?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
/** 当前等级下生效的战后触发条目 */
runtime_fend?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[];
/** 当前等级下生效的驻场光环词条列表 */
runtime_field?: FieldEntry[];
/** 当前等级下生效的复活配置 */
@@ -580,7 +577,6 @@ export class HeroAttrsComp extends ecs.Comp {
this.call = undefined;
this.dead = undefined;
this.fstart = undefined;
this.fend = undefined;
this.atking = undefined;
this.atked = undefined;
this.field = undefined;
@@ -592,7 +588,6 @@ export class HeroAttrsComp extends ecs.Comp {
this.runtime_call = undefined;
this.runtime_dead = undefined;
this.runtime_fstart = undefined;
this.runtime_fend = undefined;
this.runtime_field = undefined;
this.runtime_revive = undefined;
this.critical = 0;

View File

@@ -186,7 +186,6 @@ export class Monster extends ecs.Entity {
model.call = hero.call;
model.dead = hero.dead;
model.fstart = hero.fstart;
model.fend = hero.fend;
model.atking = hero.atking;
model.atked = hero.atked;
model.revive = hero.revive;
@@ -225,7 +224,6 @@ export class Monster extends ecs.Entity {
if (testSkills.atked !== undefined) model.atked = testSkills.atked;
if (testSkills.dead !== undefined) model.dead = testSkills.dead;
if (testSkills.fstart !== undefined) model.fstart = testSkills.fstart;
if (testSkills.fend !== undefined) model.fend = testSkills.fend;
if (testSkills.call !== undefined) model.call = testSkills.call;
if (testSkills.revive !== undefined) model.revive = testSkills.revive;
}
@@ -234,7 +232,6 @@ export class Monster extends ecs.Entity {
model.runtime_call = resolveTriggerByLv(model.call, mon_lv);
model.runtime_dead = resolveTriggerByLv(model.dead, mon_lv);
model.runtime_fstart = resolveTriggerByLv(model.fstart, mon_lv);
model.runtime_fend = resolveTriggerByLv(model.fend, mon_lv);
model.runtime_atking = resolveTriggerByLv(model.atking, mon_lv);
model.runtime_atked = resolveTriggerByLv(model.atked, mon_lv);
model.runtime_revive = resolveReviveByLv(model.revive, mon_lv);

View File

@@ -44,9 +44,6 @@ export class SkillTriggerHelper {
case SkillTriggerType.FStart:
this.handleArrayTrigger(model.runtime_fstart, model, view, type);
break;
case SkillTriggerType.FEnd:
this.handleArrayTrigger(model.runtime_fend, model, view, type);
break;
case SkillTriggerType.Atking:
this.handleAtking(model, view);
break;
@@ -142,7 +139,7 @@ export class SkillTriggerHelper {
}
/**
* 通用的数组型触发器处理(适用于 FStart / FEnd 等无需额外判定的简单列表触发)
* 通用的数组型触发器处理(适用于 FStart 等无需额外判定的简单列表触发)
*/
private static handleArrayTrigger(configs: { s_uuid: number, t_num: number, overrides?: SkillOverrides }[] | undefined, model: HeroAttrsComp, view: HeroViewComp, type: SkillTriggerType) {
if (!configs || configs.length === 0) return;