feat(fight): 实现 boss 战斗中精灵特性的支持与多个新魂印效果

- 在 `fight_boss.go` 中为 Boss 的每只宠物增加了 CatchTime 字段以区分不同精灵,
  并修复了技能特效参数解析的问题。
- 新增多个魂印(NewSeIdx)实现,包括:
  * 无限 PP、伤害倍率控制、命中屏蔽、属性克制、暴击率调整等。
- 调整了部分已有 NewSeIdx 文件中的方法调用方式,统一使用 `ID().GetCatchTime()`
  来判断精灵是否在场。
- 修改了 EffectIDCombiner 的字段访问方式,改为通过 Get/Set 方法操作。
- 优化战斗逻辑,在 NPC 战斗中加入 AI 自动出招机制。
This commit is contained in:
2025-11-26 15:25:10 +08:00
parent f76587f952
commit 0ea1a24419
47 changed files with 518 additions and 102 deletions

View File

@@ -61,7 +61,7 @@ func (e *EffectConditionalAddDamage) OnSkill() bool {
}
// 2. 获取当前效果ID对应的条件函数
cond, ok := conditionMap[int(e.EffectIDCombiner.Suffix())]
cond, ok := conditionMap[int(e.ID().Suffix())]
if !ok {
return true // 无对应条件函数,不触发
}