diff --git a/modules/storyline/api_complete.go b/modules/storyline/api_complete.go index 09a21d86f..6341c047b 100644 --- a/modules/storyline/api_complete.go +++ b/modules/storyline/api_complete.go @@ -28,6 +28,7 @@ func (this *apiComp) Complete(session comm.IUserSession, req *pb.StorylineComple ftime int64 ok bool iswin bool + isfish bool err error ) if errdata = this.CompleteCheck(session, req); errdata != nil { @@ -70,6 +71,10 @@ func (this *apiComp) Complete(session comm.IUserSession, req *pb.StorylineComple return } + if item.Level[conf.Onlevel] != 0 { + isfish = true + } + //前置判断 if len(conf.Onlevelstory) == 2 && item.Level[conf.Onlevelstory[0]] == conf.Onlevelstory[1] { errdata = &pb.ErrorData{ @@ -165,18 +170,20 @@ func (this *apiComp) Complete(session comm.IUserSession, req *pb.StorylineComple item.Level[req.Level] = 1 } - if errdata = this.module.DispenseRes(session, conf.Reward, true); errdata != nil { - return + if !isfish { + if errdata = this.module.DispenseRes(session, conf.Reward, true); errdata != nil { + return + } + award = make([]*pb.UserAssets, 0) + for _, v := range conf.Reward { + award = append(award, &pb.UserAssets{ + A: v.A, + T: v.T, + N: v.N, + }) + } } - award = make([]*pb.UserAssets, 0) - for _, v := range conf.Reward { - award = append(award, &pb.UserAssets{ - A: v.A, - T: v.T, - N: v.N, - }) - } - item.Level[req.Level] = 1 + this.module.modeltask.Change(session.GetUserId(), map[string]interface{}{ "item": info.Item, })