diff --git a/modules/stonehenge/modelStonehengeBook.go b/modules/stonehenge/modelStonehengeBook.go index 914a66239..e588ddec5 100644 --- a/modules/stonehenge/modelStonehengeBook.go +++ b/modules/stonehenge/modelStonehengeBook.go @@ -68,7 +68,7 @@ func (this *ModelStonehengeBook) addStonehengeBook(uid string, btype int32, bid } info.Award[btype] = bookAward } - bookAward.Books = append(bookAward.Books, btype) + bookAward.Books = append(bookAward.Books, bid) if err = this.Change(uid, map[string]interface{}{ "award": info.Award, }); err != nil { diff --git a/modules/warorder/configure.go b/modules/warorder/configure.go index d96c1a46c..972225f3a 100644 --- a/modules/warorder/configure.go +++ b/modules/warorder/configure.go @@ -206,3 +206,23 @@ func (this *configureComp) getWarorderLvp(lv int32, wtype int32) (conf *cfg.Game err = fmt.Errorf("lv:%d no conf !", lv) return } + +func (this *configureComp) getWarorderLvpMax(wtype int32) (conf *cfg.GamePassCheckExpData, err error) { + var ( + exps []*cfg.GamePassCheckExpData + maxlv int32 + ) + + if exps, err = this.getexp(wtype); err != nil { + this.module.Errorln(err) + return + } + + for _, v := range exps { + if maxlv < v.Id { + maxlv = v.Id + conf = v + } + } + return +} diff --git a/modules/warorder/module.go b/modules/warorder/module.go index cef2bbea3..ba4f14308 100644 --- a/modules/warorder/module.go +++ b/modules/warorder/module.go @@ -51,6 +51,7 @@ func (this *Warorder) Delivery(session comm.IUserSession, pid string) (errdata * var ( confs []*cfg.GamePassCheckPriceData conf *cfg.GamePassCheckPriceData + expconf *cfg.GamePassCheckExpData info *pb.DBWarorders warorder *pb.Warorder dwarorder *pb.DreamWarorder @@ -108,6 +109,31 @@ func (this *Warorder) Delivery(session comm.IUserSession, pid string) (errdata * } else { dwarorder.Vip = 2 } + if conf.PayproId == pid || conf.PaymidId == pid { + if expconf, err = this.configure.getWarorderLvpMax(conf.PasscheckType); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + dwarorder.Lv += this.ModuleTools.GetGlobalConf().PasscheckPro4UpLv + if dwarorder.Lv > expconf.Id { + dwarorder.Lv = expconf.Id + dwarorder.Exp = expconf.Parameter + } else { + if expconf, err = this.configure.getWarorderLvp(dwarorder.Lv, conf.PasscheckType); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + dwarorder.Exp = expconf.Parameter + } + } } this.model.updateUserWarorders(session.GetUserId(), info) return