This commit is contained in:
liwei 2023-08-03 17:21:57 +08:00
commit 29a423ae74
6 changed files with 202 additions and 116 deletions

View File

@ -16434,6 +16434,88 @@
}
]
},
{
"id": "17110001",
"name": {
"key": "item_item_name_374",
"text": "3种族招募卡自选箱"
},
"usetype": 4,
"color": 5,
"bagtype": 2,
"index": 1,
"special_type": 0,
"time": 0,
"reddottype": 0,
"effects": "",
"modelName": "",
"box_id": 0,
"synthetize_num": 0,
"synthetize_deplete": [],
"synthetize_get": [],
"decompose_deplete": [],
"decompose_get": [],
"access": [],
"use_skip": 0,
"upper_limit": 999,
"img": "",
"intr": {
"key": "item_item_intr_383",
"text": "可以从中自由选择3种阵营招募卷的宝箱"
},
"describe": {
"key": "item_item_describe_383",
"text": ""
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "10000039",
"name": {
"key": "item_item_name_374",
"text": "石阵秘境宝箱钥匙"
},
"usetype": 1,
"color": 4,
"bagtype": 0,
"index": 1,
"special_type": 0,
"time": 0,
"reddottype": 0,
"effects": "",
"modelName": "",
"box_id": 0,
"synthetize_num": 0,
"synthetize_deplete": [],
"synthetize_get": [],
"decompose_deplete": [],
"decompose_get": [],
"access": [],
"use_skip": 11001,
"upper_limit": 999,
"img": "item_10000035",
"intr": {
"key": "item_item_intr_380",
"text": "鹦鹉螺较为罕见,又因其外形精巧美丽,因此成为稀缺货币的代名词。人们即使历经磨难也只能得到很少的鹦鹉螺,收到它作为奖励是一件非常自豪骄傲的事。"
},
"describe": {
"key": "item_item_describe_380",
"text": "此处是包装描述"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": "17110001",
"name": {

View File

@ -482,8 +482,7 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3100
"image": ""
},
{
"id": "passcheck_3",
@ -496,8 +495,7 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3200
"image": ""
},
{
"id": "passcheck_4",
@ -510,8 +508,7 @@
"channel": "0",
"text": "0",
"show": "68元",
"image": "",
"integral": 3300
"image": ""
},
{
"id": "passcheck_5",
@ -524,8 +521,7 @@
"channel": "0",
"text": "0",
"show": "128元",
"image": "",
"integral": 3400
"image": ""
},
{
"id": "passcheck_6",
@ -538,8 +534,7 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3500
"image": ""
},
{
"id": "passcheck_7",
@ -552,8 +547,7 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3600
"image": ""
},
{
"id": "passcheck_8",
@ -566,8 +560,7 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3700
"image": ""
},
{
"id": "passcheck_9",
@ -580,7 +573,6 @@
"channel": "0",
"text": "0",
"show": "30元",
"image": "",
"integral": 3800
"image": ""
}
]

View File

@ -197,12 +197,11 @@ func (this *configureComp) GetCaravanInitCity() (initcity int32) {
// 获取商店刷新时间
func (this *configureComp) GetCityRefreshTime() int32 {
if v, err := this.GetConfigure(game_caravan); err == nil {
if configure, ok := v.(*cfg.GameCaravanCity); ok {
if v, err := this.GetConfigure(game_caravan_thing); err == nil {
if configure, ok := v.(*cfg.GameCaravanThing); ok {
for _, v := range configure.GetDataList() {
return v.Checktime
return v.Changetime
}
}
} else {
log.Errorf("get GetCaravanInitCity conf err:%v", err)

View File

@ -53,6 +53,8 @@ func (this *modelCaravan) getCaravanList(uid string) (result *pb.DBCaravan, err
result.Resettime = configure.Now().Unix() - (subTime % sTime) + sTime
//result.Resettime = +int64(this.module.ModuleTools.GetGlobalConf().BusinessRewardday * 24 * 3600)
result.Citystime = configure.Now().Unix()
result.Rtime = configure.Now().Unix()
result.Lv = 1
result.Curcity = this.module.configure.GetCaravanInitCity() // 获取默认城市
if conf, err := this.module.configure.GetCaravanLv(result.Lv); err == nil {

View File

@ -119,7 +119,6 @@ func (this *Caravan) InitCaravanCityData(uid string, data *pb.DBCaravan) {
city.Nextexspecial = append(city.Nextexspecial, v.Exspecial...)
}
//city.ExspecialPCT = v.Exspecialnum[comm.GetRandW(v.ExspecialnumWeight)] // 获取权重
city.NextexspecialPCT = v.Exspecialnum[int(comm.GetRandW(v.ExspecialnumWeight))] // 获取权重
data.City[v.Id] = city
}
@ -166,28 +165,67 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
curTime = configure.Now().Unix()
update = make(map[string]interface{})
changeTime = this.configure.GetCityRefreshTime() // 3分钟
subTime := int32(curTime - caravan.Citystime)
if subTime >= changeTime {
bChange = true
for k, v := range caravan.City {
if c, _ := this.configure.GetCaravanCity(k); c != nil {
// 刷新城市货物信息
if !utils.IsToday(caravan.Citystime) {
list := this.configure.GetAllCaravanCity()
for _, conf := range list {
if v, ok := caravan.City[conf.Id]; ok {
v.Count = make(map[string]int32) // 初始化城市信息
v.Special = []string{}
if len(c.Special) > int(c.Citytypenum) {
ids := utils.RandomNumbers(0, len(c.Special), int(c.Citytypenum))
if len(conf.Special) > int(conf.Citytypenum) {
ids := utils.RandomNumbers(0, len(conf.Special), int(conf.Citytypenum))
for _, id := range ids {
v.Special = append(v.Special, c.Special[id])
v.Special = append(v.Special, conf.Special[id])
}
} else {
v.Special = append(v.Special, c.Special...)
v.Special = append(v.Special, conf.Special...)
}
if utils.IsToday(caravan.Citystime - 24*3600) {
v.Exspecial = make([]string, 0)
v.Exspecial = append(v.Exspecial, v.Nextexspecial...)
v.ExspecialPCT = v.NextexspecialPCT
} else { // 初始化今天
v.Exspecial = make([]string, 0)
// 初始化下一天的信息
if len(v.Exspecial) > int(conf.ExspecialNum) {
ids := utils.RandomNumbers(0, len(conf.Exspecial), int(conf.ExspecialNum))
for _, id := range ids {
v.Exspecial = append(v.Exspecial, conf.Exspecial[id])
}
} else {
v.Exspecial = append(v.Exspecial, conf.Exspecial...)
}
v.ExspecialPCT = conf.Exspecialnum[comm.GetRandW(conf.ExspecialnumWeight)] // 获取权重
}
/////////////////////
v.Nextexspecial = []string{}
// 初始化下一天的信息
if len(v.Exspecial) > int(conf.ExspecialNum) {
ids := utils.RandomNumbers(0, len(conf.Exspecial), int(conf.ExspecialNum))
for _, id := range ids {
v.Nextexspecial = append(v.Nextexspecial, conf.Exspecial[id])
}
} else {
v.Nextexspecial = append(v.Nextexspecial, conf.Exspecial...)
}
v.NextexspecialPCT = conf.Exspecialnum[comm.GetRandW(conf.ExspecialnumWeight)] // 获取权重
}
}
caravan.Citystime = configure.Now().Unix() // 设置今天的时间
update["city"] = caravan.City
update["citystime"] = caravan.Citystime
}
subTime := int32(curTime - caravan.Itemtime)
if subTime >= changeTime {
bChange = true
icount := int32(subTime / changeTime) // 循环周期
caravan.Citystime += int64(changeTime * icount)
update["citystime"] = caravan.Citystime
caravan.Itemtime += int64(changeTime * icount)
update["citystime"] = caravan.Itemtime
for k, v := range caravan.Goods {
if c, err := this.configure.GetCaravanGoods(k); err == nil {
caravan.Oldprice[k] = v.Price
@ -237,54 +275,17 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
}
}
}
update["itemtime"] = caravan.Itemtime
update["goods"] = caravan.Goods
update["oldprice"] = caravan.Oldprice
}
endTime := utils.WeekIntervalTime(0)
if caravan.Resettime != endTime {
caravan.Resettime = endTime
update["resettime"] = caravan.Resettime
bChange = true
}
// endTime := utils.WeekIntervalTime(0)
// if caravan.Resettime != endTime {
// caravan.Resettime = endTime
// update["resettime"] = caravan.Resettime
// bChange = true
// }
if utils.IsToday(caravan.Rtime) { // 是今天
list := this.configure.GetAllCaravanCity()
for _, conf := range list {
if v, ok := caravan.City[conf.Id]; ok {
if len(v.Nextexspecial) == 0 || v.NextexspecialPCT == 0 { // 没有数据 则构建一条数据
if len(v.Exspecial) > int(conf.ExspecialNum) {
ids := utils.RandomNumbers(0, len(conf.Exspecial), int(conf.ExspecialNum))
for _, id := range ids {
v.Exspecial = append(v.Exspecial, conf.Exspecial[id])
}
} else {
v.Exspecial = append(v.Exspecial, conf.Exspecial...)
}
v.ExspecialPCT = conf.Exspecialnum[comm.GetRandW(conf.ExspecialnumWeight)] // 获取权重
} else {
v.Exspecial = make([]string, 0)
v.Exspecial = append(v.Exspecial, v.Nextexspecial...)
v.ExspecialPCT = v.NextexspecialPCT
}
v.Nextexspecial = []string{}
// 初始化下一天的信息
if len(v.Exspecial) > int(conf.ExspecialNum) {
ids := utils.RandomNumbers(0, len(conf.Exspecial), int(conf.ExspecialNum))
for _, id := range ids {
v.Nextexspecial = append(v.Nextexspecial, conf.Exspecial[id])
}
} else {
v.Nextexspecial = append(v.Nextexspecial, conf.Exspecial...)
}
v.NextexspecialPCT = conf.Exspecialnum[comm.GetRandW(conf.ExspecialnumWeight)] // 获取权重
}
}
caravan.Rtime = caravan.Rtime + 24*3600
update["rtime"] = caravan.Rtime
update["city"] = caravan.City
bChange = true
}
if bChange {
this.modelCaravan.modifyCaravanDataByObjId(uid, update)
}

View File

@ -244,11 +244,12 @@ type DBCaravan struct {
Eventid int32 `protobuf:"varint,12,opt,name=eventid,proto3" json:"eventid"` // 特殊事件ID(事件配置唯一id)
Tasktime int64 `protobuf:"varint,13,opt,name=tasktime,proto3" json:"tasktime"` // 任务触发时间
Baglimit int32 `protobuf:"varint,14,opt,name=baglimit,proto3" json:"baglimit"` // 背包上限
Citystime int64 `protobuf:"varint,15,opt,name=citystime,proto3" json:"citystime"` // 城市刷新时间 玩家身上的货物同时刷新
Citystime int64 `protobuf:"varint,15,opt,name=citystime,proto3" json:"citystime"` // 城市刷新时间 固定每天0点刷新
Oldprice map[string]int32 `protobuf:"bytes,16,rep,name=oldprice,proto3" json:"oldprice" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 上一次价格 key 货物ID
Rtime int64 `protobuf:"varint,17,opt,name=rtime,proto3" json:"rtime"` // 客户端不用这个时间
Group map[int32]bool `protobuf:"bytes,18,rep,name=group,proto3" json:"group" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //服务器用
Reward map[int32]bool `protobuf:"bytes,19,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 记录盈利奖励
Itemtime int64 `protobuf:"varint,20,opt,name=itemtime,proto3" json:"itemtime"` // 玩家身上的货物同时刷新
}
func (x *DBCaravan) Reset() {
@ -409,6 +410,13 @@ func (x *DBCaravan) GetReward() map[int32]bool {
return nil
}
func (x *DBCaravan) GetItemtime() int64 {
if x != nil {
return x.Itemtime
}
return 0
}
type CaravanRankInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -535,7 +543,7 @@ var file_caravan_caravan_db_proto_rawDesc = []byte{
0x22, 0x35, 0x0a, 0x07, 0x42, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xbe, 0x07, 0x0a, 0x09, 0x44, 0x42, 0x43, 0x61,
0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xda, 0x07, 0x0a, 0x09, 0x44, 0x42, 0x43, 0x61,
0x72, 0x61, 0x76, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
@ -571,44 +579,46 @@ var file_caravan_caravan_db_proto_rawDesc = []byte{
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x06,
0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44,
0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x42, 0x0a, 0x0a,
0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x61,
0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x40, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x06, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x42, 0x0a, 0x09, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 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, 0x1a, 0x3b, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69,
0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a,
0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x72,
0x61, 0x76, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 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, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76,
0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74,
0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d,
0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09,
0x63, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x63, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x69, 0x74, 0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x69, 0x74, 0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x42, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x61, 0x67, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x0a,
0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x47, 0x6f,
0x6f, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x0a, 0x09, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 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, 0x1a, 0x3b, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x38, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 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, 0x16,
0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12,
0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68,
0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x61,
0x76, 0x61, 0x6e, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x61, 0x72,
0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (