diff --git a/modules/arena/api_challenge.go b/modules/arena/api_challenge.go index b74063fbe..e0a0be2d9 100644 --- a/modules/arena/api_challenge.go +++ b/modules/arena/api_challenge.go @@ -35,7 +35,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge bule *pb.ArenaPlayer heros []*pb.DBHero record *pb.DBBattleRecord - change bool + // change bool isopen bool ok bool err error @@ -65,56 +65,47 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { this.module.WriteUserLog(session.GetUserId(), req, comm.GMResDelType, "ArenaChallengeReq", this.module.ModuleTools.GetGlobalConf().ArenaTicketCos) // 消耗资源 }) - if red.Attack != nil { - for i, v := range req.Battle.Format { - if (red.Attack.Formt[i] != nil && red.Attack.Formt[i].Id != v) || (red.Attack.Formt[i] == nil && v != "") { - change = true - } + + // if red.Defend == nil || change { + if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Battle.Format); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + ok = false + for _, v := range heros { + if v != nil && v.Id != "" { + ok = true } - } else { - change = true } - if red.Defend == nil || change { - if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Battle.Format); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } - return - } - ok = false - for _, v := range heros { - if v != nil && v.Id != "" { - ok = true - } - } - - if !ok { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: "no found any hero", - } - return - } - - if red.Defend == nil { - red.Defend = &pb.DBPlayerBattleFormt{ - Leadpos: req.Battle.Leadpos, - Formt: heros, - } - red.Isdef = true - } - if change { - red.Attack = &pb.DBPlayerBattleFormt{ - Leadpos: req.Battle.Leadpos, - Formt: heros, - } + if !ok { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: "no found any hero", } + return } + if red.Defend == nil { + red.Defend = &pb.DBPlayerBattleFormt{ + Leadpos: req.Battle.Leadpos, + Formt: heros, + } + red.Isdef = true + } + // if change { + red.Attack = &pb.DBPlayerBattleFormt{ + Leadpos: req.Battle.Leadpos, + Formt: heros, + } + // } + // } + if !req.Isai { if bule, err = this.module.modelArena.queryArenaPlayer(req.Playerid); err != nil { errdata = &pb.ErrorData{