fix(fight): 修复睡眠,修改战斗伤害叠加逻辑
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user