diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index c999198d0..401df5298 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -639,6 +639,7 @@ func (this *modelBattleComp) checkBattlereadyCapskill(leadpos int32, heros []*pb } if n < int(caprule.Lv[1]) { ok = false + return } } if len(caprule.Start) == 2 { //星级校验 @@ -650,6 +651,7 @@ func (this *modelBattleComp) checkBattlereadyCapskill(leadpos int32, heros []*pb } if n < int(caprule.Start[1]) { ok = false + return } } @@ -662,19 +664,25 @@ func (this *modelBattleComp) checkBattlereadyCapskill(leadpos int32, heros []*pb } if n < int(caprule.Race[1]) { ok = false + return } } if len(caprule.Heroid) > 0 { //阵营校验 - n := 0 - for _, v := range conf { - if v != nil && v.Race == caprule.Race[0] { - n++ + + for _, v := range caprule.Heroid { + iskeep := false + for _, v1 := range heros { + if v1 != nil && v1.HeroID == v { + iskeep = true + } + } + if !iskeep { + ok = false + return } } - if n < int(caprule.Race[1]) { - ok = false - } + } return }