feat(fight): 调整效果叠加逻辑与精灵属性处理
- 将 `MaxStack` 方法重命名为 `CanStack`,并修改其逻辑为布尔值控制是否可叠加 - 更新多个效果文件中的注释和调用方式以适配新的叠加控制方法 - 修复精灵属性类型获取逻辑,增加缓存字段 `PType` - 修改战斗回合处理流程,优化技能解析顺序和状态比较时机 - 调整状态效果初始化逻辑,确保状态类效果默认允许无限叠加 - 更正伤害类型缺失问题,在固定伤害
This commit is contained in:
@@ -14,7 +14,7 @@ type EffectNode struct {
|
||||
Input *input.Input
|
||||
stacks int // 当前层数
|
||||
id int
|
||||
maxStack int // 最大叠加层数 ,正常都是不允许叠加的,除了衰弱特殊效果 ,异常和能力的叠层
|
||||
canStack bool // 最大叠加层数 ,正常都是不允许叠加的,除了衰弱特殊效果 ,异常和能力的叠层
|
||||
SideEffectArgs []int // 附加效果参数
|
||||
// owner bool //是否作用自身
|
||||
Success bool // 是否执行成功 成功XXX,失败XXX
|
||||
@@ -69,12 +69,12 @@ func (e *EffectNode) Hit(t ...bool) bool {
|
||||
return e.hit
|
||||
|
||||
}
|
||||
func (e *EffectNode) MaxStack(t ...int) int {
|
||||
func (e *EffectNode) CanStack(t ...bool) bool {
|
||||
|
||||
if len(t) > 0 {
|
||||
e.maxStack = t[0]
|
||||
e.canStack = t[0]
|
||||
}
|
||||
return e.maxStack
|
||||
return e.canStack
|
||||
|
||||
}
|
||||
func (e *EffectNode) Duration(t ...int) int {
|
||||
|
||||
Reference in New Issue
Block a user