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

@@ -13,7 +13,6 @@
* - Interval (2):监听 FightStart → update 帧驱动按 t_inv 间隔重复触发(按 t_times 控制每回合次数)
* - Field (3):被动生效,不主动施法(实际由 FieldSkillSet 处理)
* - FightStart (4):监听 FightStart 事件,按 trigger_limit 全局累计上限
* - FightEnd (5):监听 FightEnd 事件(每回合结束派发),按 trigger_limit 全局累计上限
* - HeroDead (6):监听 HeroDead 事件(仅英雄阵营派发,怪物死亡不触发)
* - HeroCall (7):监听 MasterCalled主角/技能召唤)+ ReviveSuccess复活
*
@@ -145,7 +144,6 @@ export class EquipBoxComp extends CCComp {
oops.message.off(GameEvent.MissionEnd, this.onMissionEnd, this);
oops.message.off(GameEvent.FightStart, this.onFightStart, this);
oops.message.off(GameEvent.FightStart, this.onEventTrigger, this);
oops.message.off(GameEvent.FightEnd, this.onEventTrigger, this);
oops.message.off(GameEvent.HeroDead, this.onEventTrigger, this);
oops.message.off(GameEvent.MasterCalled, this.onEventTrigger, this);
oops.message.off(GameEvent.ReviveSuccess, this.onEventTrigger, this);
@@ -287,7 +285,6 @@ export class EquipBoxComp extends CCComp {
* - Interval: 监听 FightStart进入战斗后由 update 帧驱动计时
* - Field: 不主动施法(实际生效由 FieldSkillSet 处理)
* - FightStart: 监听 FightStart 事件
* - FightEnd: 监听 FightEnd 事件
* - HeroDead: 监听 HeroDead 事件(已在派发处做阵营过滤)
* - HeroCall: 监听 MasterCalled主角/技能召唤)+ ReviveSuccess复活
*
@@ -313,10 +310,6 @@ export class EquipBoxComp extends CCComp {
oops.message.on(GameEvent.FightStart, this.onEventTrigger, this);
break;
case CardTriggerType.FightEnd:
oops.message.on(GameEvent.FightEnd, this.onEventTrigger, this);
break;
case CardTriggerType.HeroDead:
oops.message.on(GameEvent.HeroDead, this.onEventTrigger, this);
break;
@@ -338,7 +331,7 @@ export class EquipBoxComp extends CCComp {
* 事件型触发的统一入口:
* - Instant 类型:按 trigger_times 上限判定,复用 current_trigger_times 跟踪
* (保持与原 is_instant 行为一致,且 NewWave 中也用 current_trigger_times
* - 事件型FightStart/FightEnd/HeroDead/HeroCall按 trigger_limit 上限判定,使用 trigger_count 跟踪
* - 事件型FightStart/HeroDead/HeroCall按 trigger_limit 上限判定,使用 trigger_count 跟踪
*
* 注意:本方法不读取事件 payload仅作触发信号使用避免 MasterCalled 不同 payload 字段引发的兼容问题)。
*/
@@ -445,7 +438,6 @@ export class EquipBoxComp extends CCComp {
const showRemainCount =
this.trigger_type === CardTriggerType.Interval ||
this.trigger_type === CardTriggerType.FightStart ||
this.trigger_type === CardTriggerType.FightEnd ||
this.trigger_type === CardTriggerType.HeroDead ||
this.trigger_type === CardTriggerType.HeroCall;
@@ -454,7 +446,6 @@ export class EquipBoxComp extends CCComp {
// 事件型按 trigger_limitInterval 按 t_times
const isEvent =
this.trigger_type === CardTriggerType.FightStart ||
this.trigger_type === CardTriggerType.FightEnd ||
this.trigger_type === CardTriggerType.HeroDead ||
this.trigger_type === CardTriggerType.HeroCall;
const used = isEvent ? this.trigger_count : this.current_trigger_times;
@@ -514,7 +505,7 @@ export class EquipBoxComp extends CCComp {
* 处理维持回合逻辑:递减剩余回合,或者重置触发次数。
*
* 各类型在新一回合的行为:
* - Instant/Interval/FightStart/FightEnd:按 keep_waves 决定维持/销毁,并在新一回合开始时重置本地计数
* - Instant/Interval/FightStart按 keep_waves 决定维持/销毁,并在新一回合开始时重置本地计数
* - Field被动生效跟随 keep_waves 决定存活
* - HeroDead/HeroCall跨回合触发的事件型trigger_count全局不重置仅 keep_waves 控制存活
*/