diff --git a/modules/wtask/api_finish.go b/modules/wtask/api_finish.go index 9793c6ec6..90b9909cd 100644 --- a/modules/wtask/api_finish.go +++ b/modules/wtask/api_finish.go @@ -18,6 +18,7 @@ func (this *apiComp) FinishCheck(session comm.IUserSession, req *pb.WTaskFinishR func (this *apiComp) Finish(session comm.IUserSession, req *pb.WTaskFinishReq) (errdata *pb.ErrorData) { var ( conf *cfg.GameWorldTaskData + afterconf *cfg.GameWorldTaskData wtask *pb.DBWTask condis []*pb.ConIProgress award []*pb.UserAssets @@ -130,6 +131,30 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WTaskFinishReq) ( } else { wtask.Completes = append(wtask.Completes, req.Tid) } + + if conf.Des == 1 && conf.IdAfter != 0 { //日常任务 自动接取下一个 + if afterconf, err = this.module.configure.gettaskconfconfigure(conf.IdAfter); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if err = this.module.ModuleBuried.ActiveCondition(session.GetUserId(), afterconf.Completetask...); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ExternalModule, + Title: pb.ErrorCode_ExternalModule.ToString(), + Message: fmt.Sprintf("ModuleBuried.ActiveCondition uid:%s condiIds:%v", session.GetUserId(), conf.Completetask), + } + return + } + wtask.Accepts = append(wtask.Accepts, afterconf.Key) + if _, errdata = this.module.pushtaskprogress(session, wtask, false); errdata != nil { + return + } + } + this.module.checkgroupState(session, wtask, conf.Group) session.SendMsg(string(this.module.GetType()), "finish", &pb.WTaskFinishResp{Tid: req.Tid, Award: award, Completes: wtask.Completes, Groups: wtask.Groups}) this.module.fishtask(session, wtask, true) diff --git a/modules/wtask/module.go b/modules/wtask/module.go index 9df35219a..4f3bf6ef1 100644 --- a/modules/wtask/module.go +++ b/modules/wtask/module.go @@ -743,13 +743,7 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断 continue } - if v.Des == 5 { //商队任务不主动触发 日常任务直接接取不进入可接取列表中 - continue - } - if v.Des == 1 { - changeAccept = true - wtask.Accepts = append(wtask.Activations, v.Key) - condiIds = append(condiIds, v.Completetask...) + if v.Des == 5 || v.Des == 1 { //商队任务不主动触发 日常任务直接接取不进入可接取列表中 continue } wtask.Activations = append(wtask.Activations, v.Key)