feat(fight): 调整效果叠加逻辑与精灵属性处理

- 将 `MaxStack` 方法重命名为 `CanStack`,并修改其逻辑为布尔值控制是否可叠加
- 更新多个效果文件中的注释和调用方式以适配新的叠加控制方法
- 修复精灵属性类型获取逻辑,增加缓存字段 `PType`
- 修改战斗回合处理流程,优化技能解析顺序和状态比较时机
- 调整状态效果初始化逻辑,确保状态类效果默认允许无限叠加
- 更正伤害类型缺失问题,在固定伤害
This commit is contained in:
2025-11-14 06:14:49 +08:00
parent d52c6cbb79
commit 004ce51c5e
23 changed files with 298 additions and 69 deletions

View File

@@ -147,7 +147,10 @@ func (our *Input) GetStatusBonus() float64 {
}
// 解析并 施加effect
func (our *Input) Parseskill(defender *Input, skill *action.SelectSkillAction) {
func (our *Input) Parseskill(skill *action.SelectSkillAction) {
if skill == nil {
return
}
our.EffectCache = make([]Effect, 0) //先把上一回合数据清空,但是应该把本身延续类效果集成过来
our.Effect_Lost = make([]Effect, 0)