diff --git a/bin/json/game_global.json b/bin/json/game_global.json index 17b6f92fa..06870a373 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -664,8 +664,8 @@ "fitnessModelId": "25001", "business_ticket": 40, "business_money": { - "a": "item", - "t": "141001", + "a": "attr", + "t": "merchantmoney", "n": 1 }, "business_moneynum": 10000, diff --git a/bin/json/game_herotalent.json b/bin/json/game_herotalent.json index 21dc27226..ec789c1b2 100644 --- a/bin/json/game_herotalent.json +++ b/bin/json/game_herotalent.json @@ -3,6 +3,7 @@ "skillid": 40101, "hid": "25001", "skilltyp": 0, + "typeline": 1, "before": [ 0 ], @@ -39,6 +40,7 @@ "skillid": 40102, "hid": "25001", "skilltyp": 0, + "typeline": 1, "before": [ 40101 ], @@ -70,6 +72,7 @@ "skillid": 40103, "hid": "25001", "skilltyp": 0, + "typeline": 1, "before": [ 40102 ], @@ -101,6 +104,7 @@ "skillid": 10101, "hid": "25001", "skilltyp": 1, + "typeline": 1, "before": [ 40103 ], @@ -132,6 +136,7 @@ "skillid": 10102, "hid": "25001", "skilltyp": 1, + "typeline": 1, "before": [ 10101 ], @@ -163,6 +168,7 @@ "skillid": 10103, "hid": "25001", "skilltyp": 1, + "typeline": 1, "before": [ 10102 ], @@ -194,6 +200,7 @@ "skillid": 10104, "hid": "25001", "skilltyp": 1, + "typeline": 1, "before": [ 10103 ], @@ -225,6 +232,7 @@ "skillid": 10105, "hid": "25001", "skilltyp": 1, + "typeline": 1, "before": [ 10104 ], @@ -261,6 +269,7 @@ "skillid": 10106, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 10105 ], @@ -292,6 +301,7 @@ "skillid": 20101, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 10106 ], @@ -323,6 +333,7 @@ "skillid": 20102, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20101 ], @@ -354,6 +365,7 @@ "skillid": 20103, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20102 ], @@ -385,6 +397,7 @@ "skillid": 20104, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20103 ], @@ -416,6 +429,7 @@ "skillid": 20105, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20104 ], @@ -447,6 +461,7 @@ "skillid": 20106, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20105 ], @@ -483,6 +498,7 @@ "skillid": 30101, "hid": "25001", "skilltyp": 1, + "typeline": 2, "before": [ 20106 ], @@ -514,6 +530,7 @@ "skillid": 30102, "hid": "25001", "skilltyp": 1, + "typeline": 3, "before": [ 30101 ], @@ -545,6 +562,7 @@ "skillid": 30103, "hid": "25001", "skilltyp": 1, + "typeline": 3, "before": [ 30102 ], @@ -576,6 +594,7 @@ "skillid": 30104, "hid": "25001", "skilltyp": 1, + "typeline": 3, "before": [ 30103 ], @@ -607,6 +626,7 @@ "skillid": 30105, "hid": "25001", "skilltyp": 1, + "typeline": 3, "before": [ 30104 ], @@ -638,6 +658,7 @@ "skillid": 30106, "hid": "25001", "skilltyp": 1, + "typeline": 3, "before": [ 30105 ], @@ -669,6 +690,7 @@ "skillid": 99101, "hid": "25001", "skilltyp": 2, + "typeline": 3, "before": [ 30106 ], @@ -700,6 +722,7 @@ "skillid": 99102, "hid": "25001", "skilltyp": 2, + "typeline": 3, "before": [ 99101 ], @@ -731,6 +754,7 @@ "skillid": 99103, "hid": "25001", "skilltyp": 2, + "typeline": 3, "before": [ 99102 ], diff --git a/modules/caravan/api_buyorsell.go b/modules/caravan/api_buyorsell.go index a78b839db..4f15e9a38 100644 --- a/modules/caravan/api_buyorsell.go +++ b/modules/caravan/api_buyorsell.go @@ -42,39 +42,21 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe if !req.IsBuy { // 卖给npc for k, v := range req.Items { // 校验背包数据够不够 - items, ok := caravan.Items[k] - if !ok { - this.module.Errorf("背包道具数量不足%s,道具ID:%d,背包数量:%d", session.GetUserId(), k, v) - continue - } - bFound := false - for _, k1 := range cityInfo.Special { - if k == k1 { - if v <= caravan.Items[k].Count { - caravan.Items[k].Count -= v - bFound = true - break - } else { - code = pb.ErrorCode_TrollSellMax // 卖出数量不足 - return - } - - } - } - if !bFound { - code = pb.ErrorCode_TrollSellMax // 卖出数量不足 + caravan.Items[k].Count -= v + if caravan.Items[k].Count < 0 { + code = pb.ErrorCode_TrollItemNoEnough // 道具数量不足 return } - // 找到城市想要收购的物品 + items := caravan.Items[k] var price int32 price = items.Price - if cityConf := this.module.configure.GetCaravanCity(req.City); cityConf != nil { for _, v := range cityConf.Exspecial { if v == k { price = cityConf.Exspecialnum * items.Price / 1000 + + break } - break } } addScore += price * v // 卖出收益 @@ -100,6 +82,7 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe this.module.Errorf("lv reward dispenseRes err:%v", lvReward) } } + } else { // 买入 for k, v := range req.Items { if _, ok := caravan.Items[k]; !ok { @@ -108,14 +91,9 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe Price: 0, } } - - // if upperLimit < caravan.Items[k].Count+v { - // code = pb.ErrorCode_TrollBuyMax // 达到购买上限直接退出 - // return - // } + bFound := false // 计算均价 totla := caravan.Items[k].Count * caravan.Items[k].Price - var price int32 price = caravan.Goods[k].Price for _, v := range cityInfo.Special { @@ -123,24 +101,28 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe if cityConf := this.module.configure.GetCaravanCity(req.City); cityConf != nil { price = cityConf.Specialnum * price / 1000 } + bFound = true break } } + if !bFound { + code = pb.ErrorCode_TrollCityUnSellItem // 城市不卖这个物品 + return + } caravan.Items[k].Count += v totla += price * v caravan.Items[k].Price = totla / caravan.Items[k].Count // 同步更新该城市的 出售货物信息 - cityInfo.Count[req.City] += v + cityInfo.Count[k] += v if itemConf := this.configure.GetCaravanGoods(k); itemConf != nil { // 更新商店库存 - if cityInfo.Count[req.City] > itemConf.Goodsnum { + if cityInfo.Count[k] > itemConf.Goodsnum { code = pb.ErrorCode_TrollBuyMax // 商品数量不足 return } update["city"] = caravan.City addScore -= price * v } - } if this.module.ArrayBag(caravan, upperLimit) { // 背包满了 code = pb.ErrorCode_TrollMaxItemCount diff --git a/modules/caravan/api_ranklist.go b/modules/caravan/api_ranklist.go new file mode 100644 index 000000000..34b8d2bc1 --- /dev/null +++ b/modules/caravan/api_ranklist.go @@ -0,0 +1,23 @@ +package caravan + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.CaravanRankListReq) (code pb.ErrorCode) { + + return +} + +func (this *apiComp) RankList(session comm.IUserSession, req *pb.CaravanRankListReq) (code pb.ErrorCode, data *pb.ErrorData) { + + resp := &pb.CaravanRankListResp{} + if code = this.RankListCheck(session, req); code != pb.ErrorCode_Success { + return // 参数校验失败直接返回 + } + resp.List = this.module.modelCaravan.GetRankListData(comm.MaxRankList) + session.SendMsg(string(this.module.GetType()), "ranklist", resp) + return +} diff --git a/modules/caravan/model_caravan.go b/modules/caravan/model_caravan.go index 34fe9ed72..e35dd4857 100644 --- a/modules/caravan/model_caravan.go +++ b/modules/caravan/model_caravan.go @@ -1,15 +1,19 @@ package caravan import ( + "context" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + "go_dreamfactory/utils" + "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/x/bsonx" ) @@ -41,7 +45,7 @@ func (this *modelCaravan) getCaravanList(uid string) (result *pb.DBCaravan, err if err = this.Get(uid, result); err != nil && mgo.MongodbNil == err { // 创建一条数据 result.Id = primitive.NewObjectID().Hex() - result.Resettime = configure.Now().Unix() // 设置起始刷新时间 + result.Resettime = utils.GetZeroTime(configure.Now().Unix()) // 设置起始刷新时间 result.Citystime = configure.Now().Unix() result.Lv = 1 result.Curcity = this.module.configure.GetCaravanInitCity() // 获取默认城市 @@ -59,3 +63,26 @@ func (this *modelCaravan) getCaravanList(uid string) (result *pb.DBCaravan, err func (this *modelCaravan) modifyCaravanDataByObjId(uid string, data map[string]interface{}) error { return this.Change(uid, data) } + +func (this *modelCaravan) GetRankListData(rankNum int32) (list []*pb.CaravanRankData) { + var ipos int32 + if _data, err := this.DBModel.DB.Find(comm.TableUser, bson.M{}, options.Find().SetSort(bson.M{"merchantmoney": -1}).SetLimit(int64(rankNum))); err == nil { + for _data.Next(context.TODO()) { + temp := &pb.DBUser{} + if err = _data.Decode(temp); err == nil { + ipos++ + list = append(list, &pb.CaravanRankData{ + Uid: temp.Uid, + Name: temp.Name, + Lv: temp.Lv, + Rank: ipos, + Merchantmoney: temp.Merchantmoney, + }) + } + } + } else { + this.module.Errorln(err) + return + } + return +} diff --git a/modules/caravan/module.go b/modules/caravan/module.go index ff6f7f4b7..8baa7ce54 100644 --- a/modules/caravan/module.go +++ b/modules/caravan/module.go @@ -115,7 +115,7 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) { changeTime int32 ) update = make(map[string]interface{}) - changeTime = this.configure.GetCityRefreshTime() + changeTime = this.configure.GetCityRefreshTime() // 180 if int32(configure.Now().Unix()-caravan.Citystime) >= changeTime { bChange = true for k, v := range caravan.City { @@ -132,12 +132,12 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) { } } } - + subTime := configure.Now().Unix() - caravan.Citystime + icount := int32(subTime / int64(changeTime)) // 循环周期 + caravan.Citystime += int64(changeTime * icount) for k, v := range caravan.Goods { if c := this.configure.GetCaravanGoods(k); c != nil { - subTime := configure.Now().Unix() - int64(changeTime) - icount := int32(subTime / int64(changeTime)) // 循环周期 - if icount > 50 { //超过一定的周期 则不计算 + if icount > 50 { //超过一定的周期 则不计算 // 随机出新的变动周期 v.Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1]) v.CurPeriod = 0 @@ -187,6 +187,7 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) { if bChange { update["city"] = caravan.City + update["citystime"] = caravan.Citystime this.modelCaravan.modifyCaravanDataByObjId(uid, update) } } @@ -317,10 +318,10 @@ func (this *Caravan) CheckCaravavLvUp(data *pb.DBCaravan) (curLv int32) { func (this *Caravan) TestFunc(session comm.IUserSession) { this.modelCaravan.module.api.GetList(session, &pb.CaravanGetListReq{}) this.modelCaravan.module.api.BuyOrSell(session, &pb.CaravanBuyOrSellReq{ - City: 101, + City: 105, Items: map[int32]int32{ - 6: 100, + 6: 80, }, - IsBuy: false, + IsBuy: true, }) } diff --git a/modules/timer/caravanrank.go b/modules/timer/caravanrank.go new file mode 100644 index 000000000..90f336e04 --- /dev/null +++ b/modules/timer/caravanrank.go @@ -0,0 +1,52 @@ +package timer + +import ( + "context" + "go_dreamfactory/comm" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/core/cbase" + "go_dreamfactory/lego/sys/cron" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo/options" +) + +// 此组件废弃 +type CaravanRank struct { + cbase.ModuleBase + modules.MCompModel + service core.IService + module *Timer +} + +//组件初始化接口 +func (this *CaravanRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + + this.TableName = comm.TableCaravan + this.MCompModel.Init(service, module, comp, options) + this.module = module.(*Timer) + this.service = service + return +} + +func (this *CaravanRank) Start() (err error) { + err = this.MCompModel.Start() + cron.AddFunc("30 10 1 * * ?", this.TimerSeason) + return +} + +func (this *CaravanRank) TimerSeason() { + + if _data, err := this.DB.Find(comm.TableUser, bson.M{}, options.Find().SetSort(bson.M{"merchantmoney": -1}).SetLimit(comm.MaxRankList)); err == nil { + for _data.Next(context.TODO()) { + temp := &pb.DBUser{} + if err = _data.Decode(temp); err == nil { + this.DB.UpdateOne(comm.TableUser, bson.M{"_id": temp.Id}, bson.M{"merchantmoney": 10000}) + } + } + } + +} diff --git a/modules/timer/pagodarank.go b/modules/timer/pagodarank.go deleted file mode 100644 index 533e80d97..000000000 --- a/modules/timer/pagodarank.go +++ /dev/null @@ -1,83 +0,0 @@ -package timer - -import ( - "context" - "go_dreamfactory/comm" - "go_dreamfactory/modules" - "go_dreamfactory/pb" - - "go_dreamfactory/lego/core" - "go_dreamfactory/lego/core/cbase" - "go_dreamfactory/lego/sys/log" - - "go.mongodb.org/mongo-driver/bson" - "go.mongodb.org/mongo-driver/mongo/options" -) - -// 此组件废弃 -type PagodaRank struct { - cbase.ModuleBase - modules.MCompModel - service core.IService - module *Timer -} - -//组件初始化接口 -func (this *PagodaRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { - - this.TableName = comm.TablePagodaRecord - this.MCompModel.Init(service, module, comp, options) - this.module = module.(*Timer) - this.service = service - return -} - -func (this *PagodaRank) Start() (err error) { - err = this.MCompModel.Start() - //cron.AddFunc("*/60 * * * * ?", this.TimerPagoda) //每60s执行一次 - //cron.AddFunc("*/60 * * * * ?", this.TimerSeason) //每60s执行一次 - return -} - -// 处理排行榜排序 -func (this *PagodaRank) TimerPagoda() { - data := make([]interface{}, 0) // options.Find().SetLimit(comm.MaxRankList) - if _data, err := this.DB.Find(comm.TablePagoda, bson.M{}, options.Find().SetSort(bson.M{"pagodaId": -1}).SetLimit(comm.MaxRankList)); err == nil { - for _data.Next(context.TODO()) { - temp := &pb.DBPagodaRecord{} - if err = _data.Decode(temp); err == nil { - data = append(data, temp) - } - } - } - if len(data) > 0 { - err := this.Redis.RPush(comm.TablePagodaRankList, data...) - if err == nil { - err = this.Redis.Ltrim(comm.TablePagodaRankList, -1*len(data), -1) //对一个列表进行修剪 - if err != nil { - log.Errorf("delete failed") - } - } - } -} - -// func (this *PagodaRank) TimerSeason() { -// data := make([]interface{}, 0) // options.Find().SetLimit(comm.MaxRankList) -// if _data, err := this.DB.Find(comm.TableSeasonPagoda, bson.M{}, options.Find().SetSort(bson.M{"pagodaId": -1}).SetLimit(comm.MaxRankList)); err == nil { -// for _data.Next(context.TODO()) { -// temp := &pb.DBPagodaRecord{} -// if err = _data.Decode(temp); err == nil { -// data = append(data, temp) -// } -// } -// } -// if len(data) > 0 { -// err := this.Redis.RPush(comm.TableSeasonRankList, data...) -// if err == nil { -// err = this.Redis.Ltrim(comm.TableSeasonRankList, -1*len(data), -1) //对一个列表进行修剪 -// if err != nil { -// log.Errorf("delete failed") -// } -// } -// } -// } diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 7ba162858..c39d20d4f 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -46,6 +46,10 @@ func (this *ModelUser) Init(service core.IService, module core.IModule, comp cor this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ Keys: bsonx.Doc{{Key: "logintime", Value: bsonx.Int32(1)}}, }) + + this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ + Keys: bsonx.Doc{{Key: "merchantmoney", Value: bsonx.Int32(1)}}, + }) return } diff --git a/pb/caravan_db.pb.go b/pb/caravan_db.pb.go index 5cad8e74e..bd7a8c088 100644 --- a/pb/caravan_db.pb.go +++ b/pb/caravan_db.pb.go @@ -352,6 +352,85 @@ func (x *DBCaravan) GetCitystime() int64 { return 0 } +type CaravanRankData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Lv int32 `protobuf:"varint,3,opt,name=lv,proto3" json:"lv"` + Rank int32 `protobuf:"varint,4,opt,name=rank,proto3" json:"rank"` //排名 + Merchantmoney int32 `protobuf:"varint,5,opt,name=merchantmoney,proto3" json:"merchantmoney"` // 虚拟币 +} + +func (x *CaravanRankData) Reset() { + *x = CaravanRankData{} + if protoimpl.UnsafeEnabled { + mi := &file_caravan_caravan_db_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CaravanRankData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CaravanRankData) ProtoMessage() {} + +func (x *CaravanRankData) ProtoReflect() protoreflect.Message { + mi := &file_caravan_caravan_db_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CaravanRankData.ProtoReflect.Descriptor instead. +func (*CaravanRankData) Descriptor() ([]byte, []int) { + return file_caravan_caravan_db_proto_rawDescGZIP(), []int{4} +} + +func (x *CaravanRankData) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *CaravanRankData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CaravanRankData) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +func (x *CaravanRankData) GetRank() int32 { + if x != nil { + return x.Rank + } + return 0 +} + +func (x *CaravanRankData) GetMerchantmoney() int32 { + if x != nil { + return x.Merchantmoney + } + return 0 +} + var File_caravan_caravan_db_proto protoreflect.FileDescriptor var file_caravan_caravan_db_proto_rawDesc = []byte{ @@ -414,8 +493,16 @@ var file_caravan_caravan_db_proto_rawDesc = []byte{ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, + 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, + 0x61, 0x6e, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, + 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -430,22 +517,23 @@ func file_caravan_caravan_db_proto_rawDescGZIP() []byte { return file_caravan_caravan_db_proto_rawDescData } -var file_caravan_caravan_db_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_caravan_caravan_db_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_caravan_caravan_db_proto_goTypes = []interface{}{ - (*Goods)(nil), // 0: Goods - (*CityInfo)(nil), // 1: CityInfo - (*BagInfo)(nil), // 2: BagInfo - (*DBCaravan)(nil), // 3: DBCaravan - nil, // 4: CityInfo.CountEntry - nil, // 5: DBCaravan.ItemsEntry - nil, // 6: DBCaravan.GoodsEntry - nil, // 7: DBCaravan.CityEntry + (*Goods)(nil), // 0: Goods + (*CityInfo)(nil), // 1: CityInfo + (*BagInfo)(nil), // 2: BagInfo + (*DBCaravan)(nil), // 3: DBCaravan + (*CaravanRankData)(nil), // 4: CaravanRankData + nil, // 5: CityInfo.CountEntry + nil, // 6: DBCaravan.ItemsEntry + nil, // 7: DBCaravan.GoodsEntry + nil, // 8: DBCaravan.CityEntry } var file_caravan_caravan_db_proto_depIdxs = []int32{ - 4, // 0: CityInfo.count:type_name -> CityInfo.CountEntry - 5, // 1: DBCaravan.items:type_name -> DBCaravan.ItemsEntry - 6, // 2: DBCaravan.goods:type_name -> DBCaravan.GoodsEntry - 7, // 3: DBCaravan.city:type_name -> DBCaravan.CityEntry + 5, // 0: CityInfo.count:type_name -> CityInfo.CountEntry + 6, // 1: DBCaravan.items:type_name -> DBCaravan.ItemsEntry + 7, // 2: DBCaravan.goods:type_name -> DBCaravan.GoodsEntry + 8, // 3: DBCaravan.city:type_name -> DBCaravan.CityEntry 2, // 4: DBCaravan.ItemsEntry.value:type_name -> BagInfo 0, // 5: DBCaravan.GoodsEntry.value:type_name -> Goods 1, // 6: DBCaravan.CityEntry.value:type_name -> CityInfo @@ -510,6 +598,18 @@ func file_caravan_caravan_db_proto_init() { return nil } } + file_caravan_caravan_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaravanRankData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -517,7 +617,7 @@ func file_caravan_caravan_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_caravan_caravan_db_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/caravan_msg.pb.go b/pb/caravan_msg.pb.go index 2aad3fcd2..94af2d8b1 100644 --- a/pb/caravan_msg.pb.go +++ b/pb/caravan_msg.pb.go @@ -503,6 +503,91 @@ func (x *CaravanTaskCompletePush) GetReward() []*UserAssets { return nil } +type CaravanRankListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CaravanRankListReq) Reset() { + *x = CaravanRankListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_caravan_caravan_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CaravanRankListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CaravanRankListReq) ProtoMessage() {} + +func (x *CaravanRankListReq) ProtoReflect() protoreflect.Message { + mi := &file_caravan_caravan_msg_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CaravanRankListReq.ProtoReflect.Descriptor instead. +func (*CaravanRankListReq) Descriptor() ([]byte, []int) { + return file_caravan_caravan_msg_proto_rawDescGZIP(), []int{9} +} + +type CaravanRankListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + List []*CaravanRankData `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` +} + +func (x *CaravanRankListResp) Reset() { + *x = CaravanRankListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_caravan_caravan_msg_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CaravanRankListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CaravanRankListResp) ProtoMessage() {} + +func (x *CaravanRankListResp) ProtoReflect() protoreflect.Message { + mi := &file_caravan_caravan_msg_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CaravanRankListResp.ProtoReflect.Descriptor instead. +func (*CaravanRankListResp) Descriptor() ([]byte, []int) { + return file_caravan_caravan_msg_proto_rawDescGZIP(), []int{10} +} + +func (x *CaravanRankListResp) GetList() []*CaravanRankData { + if x != nil { + return x.List + } + return nil +} + var File_caravan_caravan_msg_proto protoreflect.FileDescriptor var file_caravan_caravan_msg_proto_rawDesc = []byte{ @@ -555,8 +640,14 @@ var file_caravan_caravan_msg_proto_rawDesc = []byte{ 0x0a, 0x08, 0x62, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, + 0x14, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3b, 0x0a, 0x13, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, + 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x61, 0x72, + 0x61, 0x76, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, + 0x73, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -571,7 +662,7 @@ func file_caravan_caravan_msg_proto_rawDescGZIP() []byte { return file_caravan_caravan_msg_proto_rawDescData } -var file_caravan_caravan_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_caravan_caravan_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_caravan_caravan_msg_proto_goTypes = []interface{}{ (*CaravanGetListReq)(nil), // 0: CaravanGetListReq (*CaravanGetListResp)(nil), // 1: CaravanGetListResp @@ -582,23 +673,27 @@ var file_caravan_caravan_msg_proto_goTypes = []interface{}{ (*CaravanGetStoryReq)(nil), // 6: CaravanGetStoryReq (*CaravanGetStoryResp)(nil), // 7: CaravanGetStoryResp (*CaravanTaskCompletePush)(nil), // 8: CaravanTaskCompletePush - nil, // 9: CaravanBuyOrSellReq.ItemsEntry - (*DBCaravan)(nil), // 10: DBCaravan - (*UserAssets)(nil), // 11: UserAssets + (*CaravanRankListReq)(nil), // 9: CaravanRankListReq + (*CaravanRankListResp)(nil), // 10: CaravanRankListResp + nil, // 11: CaravanBuyOrSellReq.ItemsEntry + (*DBCaravan)(nil), // 12: DBCaravan + (*UserAssets)(nil), // 13: UserAssets + (*CaravanRankData)(nil), // 14: CaravanRankData } var file_caravan_caravan_msg_proto_depIdxs = []int32{ - 10, // 0: CaravanGetListResp.data:type_name -> DBCaravan - 9, // 1: CaravanBuyOrSellReq.items:type_name -> CaravanBuyOrSellReq.ItemsEntry - 10, // 2: CaravanBuyOrSellResp.data:type_name -> DBCaravan - 10, // 3: CaravanGotoCityResp.data:type_name -> DBCaravan - 10, // 4: CaravanGetStoryResp.data:type_name -> DBCaravan - 10, // 5: CaravanTaskCompletePush.data:type_name -> DBCaravan - 11, // 6: CaravanTaskCompletePush.reward:type_name -> UserAssets - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 12, // 0: CaravanGetListResp.data:type_name -> DBCaravan + 11, // 1: CaravanBuyOrSellReq.items:type_name -> CaravanBuyOrSellReq.ItemsEntry + 12, // 2: CaravanBuyOrSellResp.data:type_name -> DBCaravan + 12, // 3: CaravanGotoCityResp.data:type_name -> DBCaravan + 12, // 4: CaravanGetStoryResp.data:type_name -> DBCaravan + 12, // 5: CaravanTaskCompletePush.data:type_name -> DBCaravan + 13, // 6: CaravanTaskCompletePush.reward:type_name -> UserAssets + 14, // 7: CaravanRankListResp.list:type_name -> CaravanRankData + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_caravan_caravan_msg_proto_init() } @@ -717,6 +812,30 @@ func file_caravan_caravan_msg_proto_init() { return nil } } + file_caravan_caravan_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaravanRankListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_caravan_caravan_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaravanRankListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -724,7 +843,7 @@ func file_caravan_caravan_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_caravan_caravan_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 5068988f9..186416a30 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -308,6 +308,9 @@ const ( ErrorCode_TrollRepeatedReward ErrorCode = 3305 //奖励重复领取 ErrorCode_TrollCity ErrorCode = 3306 // 已经在该城市了 ErrorCode_TrollTask ErrorCode = 3307 // 任务没完成 + ErrorCode_TrollItemNoEnough ErrorCode = 3308 // 道具数量不足 + ErrorCode_TrollCityUnSellItem ErrorCode = 3309 // 当前城市不卖改道具 + ErrorCode_TrollCityUnRecovery ErrorCode = 3310 // 当前城市不回收道具 // horoscope ErrorCode_HoroscopeNotTurnedOn ErrorCode = 3401 //未开启 ErrorCode_HoroscopeRestCDNoEnd ErrorCode = 3402 //重置cd未结束 @@ -654,6 +657,9 @@ var ( 3305: "TrollRepeatedReward", 3306: "TrollCity", 3307: "TrollTask", + 3308: "TrollItemNoEnough", + 3309: "TrollCityUnSellItem", + 3310: "TrollCityUnRecovery", 3401: "HoroscopeNotTurnedOn", 3402: "HoroscopeRestCDNoEnd", 3501: "PrivilegeNotFound", @@ -984,6 +990,9 @@ var ( "TrollRepeatedReward": 3305, "TrollCity": 3306, "TrollTask": 3307, + "TrollItemNoEnough": 3308, + "TrollCityUnSellItem": 3309, + "TrollCityUnRecovery": 3310, "HoroscopeNotTurnedOn": 3401, "HoroscopeRestCDNoEnd": 3402, "PrivilegeNotFound": 3501, @@ -1085,7 +1094,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0x90, 0x3c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xdc, 0x3c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, @@ -1459,115 +1468,119 @@ var file_errorcode_proto_rawDesc = []byte{ 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x10, 0xea, 0x19, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xeb, - 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, - 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, - 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, - 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, - 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, - 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, - 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, - 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, - 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, - 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, - 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, - 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, - 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, - 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, - 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, - 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, - 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, - 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, - 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, - 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1b, 0x0a, - 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a, 0x1a, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x6e, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d, 0x0a, 0x18, 0x57, - 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a, 0x12, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x10, 0xe2, 0x1d, 0x12, 0x1a, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0xe3, 0x1d, 0x12, - 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, - 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, - 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, - 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, - 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, - 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x88, 0x20, 0x12, 0x20, - 0x0a, 0x1b, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x45, 0x71, 0x75, 0x69, 0x70, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89, 0x20, - 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x53, - 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b, 0x20, - 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4d, - 0x61, 0x78, 0x4c, 0x76, 0x10, 0x8c, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, - 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20, 0x12, - 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x8e, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, - 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x10, 0x8f, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x46, - 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a, 0x15, - 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x91, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, - 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, - 0x92, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, - 0x6f, 0x6c, 0x73, 0x50, 0x72, 0x65, 0x10, 0x93, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, - 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, - 0x94, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, - 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12, 0x13, - 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65, 0x65, - 0x10, 0xea, 0x20, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb, 0x20, - 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x44, - 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x64, 0x10, 0xed, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x10, 0xee, 0x20, 0x12, 0x17, - 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x10, 0xef, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, - 0xf0, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, - 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xcd, 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a, 0x0a, - 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, - 0x10, 0xd0, 0x21, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, - 0x6f, 0x75, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, - 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, - 0x6c, 0x10, 0xb1, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x12, - 0x1f, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x4e, 0x6f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb3, 0x22, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x10, 0xb4, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x65, - 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x46, 0x75, - 0x6c, 0x6c, 0x10, 0x95, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x76, 0x10, 0x96, - 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xf9, 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, 0x64, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfa, 0x23, 0x12, - 0x16, 0x0a, 0x11, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x4f, 0x76, 0x65, 0x72, 0x10, 0xfb, 0x23, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x6c, 0x64, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfc, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x6c, 0x64, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x10, 0xfd, 0x23, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xec, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, + 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x55, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, + 0x10, 0xed, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, + 0x55, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x10, 0xee, 0x19, 0x12, 0x19, 0x0a, + 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, + 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, + 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, + 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, + 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, + 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, + 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, + 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, + 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, + 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, + 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, + 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, + 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, + 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, + 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, + 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, + 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, + 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d, 0x12, + 0x1a, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0xe3, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, + 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10, 0x41, + 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, + 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a, 0x0c, + 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20, 0x12, + 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, + 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87, 0x20, + 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x88, 0x20, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x6d, + 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89, 0x20, 0x12, 0x19, 0x0a, 0x14, + 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x10, 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, + 0x79, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b, 0x20, 0x12, 0x15, 0x0a, 0x10, + 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4d, 0x61, 0x78, 0x4c, 0x76, + 0x10, 0x8c, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, + 0x61, 0x73, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, + 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x10, 0x8e, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, + 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0x8f, 0x20, 0x12, + 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, + 0x68, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x74, 0x6c, 0x61, + 0x73, 0x10, 0x91, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x92, 0x20, 0x12, 0x15, + 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x50, + 0x72, 0x65, 0x10, 0x93, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, + 0x74, 0x6c, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0x94, 0x20, 0x12, 0x1a, + 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, + 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x10, 0xea, 0x20, 0x12, + 0x1b, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb, 0x20, 0x12, 0x19, 0x0a, 0x14, + 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x10, 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xed, + 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x10, 0xee, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x10, 0xef, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, + 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf0, 0x20, 0x12, 0x16, + 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, + 0x69, 0x6e, 0x67, 0x10, 0xcd, 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4f, + 0x75, 0x74, 0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x12, + 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51, 0x69, + 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65, 0x63, + 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1, 0x22, + 0x12, 0x19, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x12, 0x1f, 0x0a, 0x1a, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb3, 0x22, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x65, 0x64, 0x10, 0xb4, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x95, + 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x76, 0x10, 0x96, 0x23, 0x12, 0x15, 0x0a, + 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x10, 0xf9, 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfa, 0x23, 0x12, 0x16, 0x0a, 0x11, 0x4f, + 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x76, 0x65, 0x72, + 0x10, 0xfb, 0x23, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x50, + 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x10, 0xfc, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfd, 0x23, + 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/structs/Game.HeroTalentData.go b/sys/configure/structs/Game.HeroTalentData.go index 1c75588fd..4773dd202 100644 --- a/sys/configure/structs/Game.HeroTalentData.go +++ b/sys/configure/structs/Game.HeroTalentData.go @@ -14,6 +14,7 @@ type GameHeroTalentData struct { Skillid int32 Hid string Skilltyp int32 + Typeline int32 Before []int32 Skillname string Skilltxt string @@ -38,6 +39,7 @@ func (_v *GameHeroTalentData)Deserialize(_buf map[string]interface{}) (err error { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skillid"].(float64); !_ok_ { err = errors.New("skillid error"); return }; _v.Skillid = int32(_tempNum_) } { var _ok_ bool; if _v.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skilltyp"].(float64); !_ok_ { err = errors.New("skilltyp error"); return }; _v.Skilltyp = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["typeline"].(float64); !_ok_ { err = errors.New("typeline error"); return }; _v.Typeline = int32(_tempNum_) } { var _arr_ []interface{} var _ok_ bool