fix(fight): 修复睡眠,修改战斗伤害叠加逻辑

This commit is contained in:
1
2025-11-09 02:29:21 +00:00
parent 18dcae0a9b
commit 2d010e10af
12 changed files with 83 additions and 75 deletions

View File

@@ -17,6 +17,7 @@ var EffectType = enum.New[struct {
Skill EnumEffectType `enum:"1000000"` //技能
NewSel EnumEffectType `enum:"2000000"` //特性
Status EnumEffectType `enum:"3000000"` //状态
Sub EnumEffectType `enum:"4000000"` //子效果
}]()
var NodeM = make(map[int]Effect, 0)
@@ -175,7 +176,7 @@ func (c *Input) Exec(fn func(Effect) bool) bool {
}
// 消除回合类效果 efftype 输入是消对方的还是自己的,false是自己,true是对方
func (c *Input) CancelTurn(efftype bool) {
func (c *Input) CancelTurn() {
for _, value := range c.Effects {
if value.Duration() > 0 { //false是自身,true是对方,反转后为真就是自己的
//slice = append(slice[:i], slice[i+1:]...)
@@ -185,3 +186,20 @@ func (c *Input) CancelTurn(efftype bool) {
}
}
// 消除全部
func (c *Input) CancelAll(in *Input) {
if in == c { //消除自身
c.Effects = make([]Effect, 0)
return
}
for _, value := range c.Effects {
if value.GetInput() == in { //false是自身,true是对方,反转后为真就是自己的
//slice = append(slice[:i], slice[i+1:]...)
value.Alive(false)
}
}
}