From 12f5f89dea3f23d19e1b8a0290171a86989fd374 Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Wed, 26 Jul 2023 20:11:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mainline/api_challenge.go | 27 ++++--- modules/mainline/api_challengeover.go | 2 + modules/stonehenge/api_challengeover.go | 2 +- modules/wtask/modelWTask.go | 13 +-- modules/wtask/module.go | 8 +- pb/wtask_db.pb.go | 69 +++++++++------- pb/wtask_msg.pb.go | 101 +++++++++++------------- 7 files changed, 115 insertions(+), 107 deletions(-) diff --git a/modules/mainline/api_challenge.go b/modules/mainline/api_challenge.go index 1dc938667..42d7820b2 100644 --- a/modules/mainline/api_challenge.go +++ b/modules/mainline/api_challenge.go @@ -20,16 +20,25 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.MainlineC // /挑战主线关卡 func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChallengeReq) (errdata *pb.ErrorData) { var ( - info *pb.DBMainline // 当前章节信息 - ps int32 // 消耗的体力 - psAnt *cfg.Gameatn - stageConf *cfg.GameMainStageData // 当前章节数据 - err error + info *pb.DBMainline // 当前章节信息 + ps int32 // 消耗的体力 + psAnt *cfg.Gameatn + conf *cfg.GameMainStageData // 当前章节数据 + err error ) if errdata = this.ChallengeCheck(session, req); errdata != nil { return // 参数校验失败直接返回 } + + if conf, err = this.module.configure.GetMainStageConf(req.Level); err != nil { // 配置文件校验 + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MainlineNotFindChapter, + Title: pb.ErrorCode_MainlineNotFindChapter.ToString(), + Message: err.Error(), + } + return + } if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -39,12 +48,12 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle } if v1, ok := info.Ps[req.Level]; !ok || v1 == 0 { - for _, v := range stageConf.PsConsume { + for _, v := range conf.PsConsume { if v.A == "attr" && v.T == "ps" { ps += v.N } } - for _, v := range stageConf.PsMg { + for _, v := range conf.PsMg { if v.A == "attr" && v.T == "ps" { ps += v.N } @@ -72,7 +81,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle Ptype: pb.PlayType_mainline, Title: "", Format: req.Battle, - Mformat: stageConf.FormatList, + Mformat: conf.FormatList, }) if errdata != nil { return @@ -81,7 +90,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle Info: &pb.BattleInfo{ Id: record.Id, Title: record.Title, - Rulesid: stageConf.BattleReadyID, + Rulesid: conf.BattleReadyID, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, diff --git a/modules/mainline/api_challengeover.go b/modules/mainline/api_challengeover.go index 29512b7b0..d5dc76da8 100644 --- a/modules/mainline/api_challengeover.go +++ b/modules/mainline/api_challengeover.go @@ -51,6 +51,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } + return } if err = this.module.modelMline.checklevel(req.Level, info); err != nil { @@ -159,6 +160,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh } } } + consumPs = info.Ps[req.Level] if userExp, errdata = this.module.ModuleUser.ConsumePsAddExp(session, consumPs); errdata != nil { return } diff --git a/modules/stonehenge/api_challengeover.go b/modules/stonehenge/api_challengeover.go index 56aadc9e2..7907d754c 100644 --- a/modules/stonehenge/api_challengeover.go +++ b/modules/stonehenge/api_challengeover.go @@ -8,7 +8,7 @@ import ( ) // 参数校验 -func (this *apiComp) BattleOverCheck(session comm.IUserSession, req *pb.StonehengeBattleReq) (errdata *pb.ErrorData) { +func (this *apiComp) BattleOverCheck(session comm.IUserSession, req *pb.StonehengeBattleOverReq) (errdata *pb.ErrorData) { if req.Eventid == 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, diff --git a/modules/wtask/modelWTask.go b/modules/wtask/modelWTask.go index 37c2444bd..471e71d8c 100644 --- a/modules/wtask/modelWTask.go +++ b/modules/wtask/modelWTask.go @@ -54,12 +54,13 @@ func (this *ModelWTask) getUserWTasks(uid string) (results *pb.DBWTask, err erro func (this *ModelWTask) updateUserWTasks(uid string, data *pb.DBWTask) (err error) { if err = this.Change(uid, map[string]interface{}{ - "currchapter": data.Currchapter, - "activations": data.Activations, - "accepts": data.Accepts, - "completes": data.Completes, - "groups": data.Groups, - "boxs": data.Boxs, + "currchapter": data.Currchapter, + "activations": data.Activations, + "accepts": data.Accepts, + "completes": data.Completes, + "groups": data.Groups, + "boxs": data.Boxs, + "dailytaskgroup": data.Dailytaskgroup, }); err != nil { this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()}) return diff --git a/modules/wtask/module.go b/modules/wtask/module.go index c050c7ed4..9df35219a 100644 --- a/modules/wtask/module.go +++ b/modules/wtask/module.go @@ -263,7 +263,6 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, dailytaskid int accepts []int32 = make([]int32, 0) completes []int32 = make([]int32, 0) condiIds []int32 = make([]int32, 0) - progress []*pb.DBWTaskItem box map[int32]int32 err error ok bool @@ -344,7 +343,7 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, dailytaskid int wtask.Activations = activations wtask.Accepts = accepts wtask.Completes = completes - + wtask.Dailytaskgroup = dailytaskid if len(condiIds) > 0 { if err = this.ModuleBuried.ActiveCondition(session.GetUserId(), condiIds...); err != nil { errdata = &pb.ErrorData{ @@ -357,10 +356,7 @@ func (this *WTask) ResetDailytaskTask(session comm.IUserSession, dailytaskid int } //有新任务接取 - if progress, errdata = this.pushtaskprogress(session, wtask, false); errdata != nil { - return - } - session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: progress, Dailytaskgroup: dailytaskid}) + this.pushtaskprogress(session, wtask, true) if boxchange { session.SendMsg(string(this.GetType()), "boxchange", &pb.WTaskBoxChangePush{Boxs: wtask.Boxs}) } diff --git a/pb/wtask_db.pb.go b/pb/wtask_db.pb.go index 986a26802..f5271cdb7 100644 --- a/pb/wtask_db.pb.go +++ b/pb/wtask_db.pb.go @@ -26,14 +26,15 @@ type DBWTask struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //唯一ID - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //玩家ID - Currchapter int32 `protobuf:"varint,3,opt,name=currchapter,proto3" json:"currchapter"` //当前所在章节 - Activations []int32 `protobuf:"varint,4,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表 - Accepts []int32 `protobuf:"varint,5,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表 - Completes []int32 `protobuf:"varint,6,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表 - Groups map[int32]int32 `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //任务组状态 key表示组id value:0 任务组未完成 1:任务组已完成 2:任务组奖励已领取 - Boxs map[int32]*DBWTaskBox `protobuf:"bytes,8,rep,name=boxs,proto3" json:"boxs" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //世界宝箱 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //唯一ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //玩家ID + Currchapter int32 `protobuf:"varint,3,opt,name=currchapter,proto3" json:"currchapter"` //当前所在章节 + Activations []int32 `protobuf:"varint,4,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表 + Accepts []int32 `protobuf:"varint,5,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表 + Completes []int32 `protobuf:"varint,6,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表 + Groups map[int32]int32 `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //任务组状态 key表示组id value:0 任务组未完成 1:任务组已完成 2:任务组奖励已领取 + Boxs map[int32]*DBWTaskBox `protobuf:"bytes,8,rep,name=boxs,proto3" json:"boxs" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //世界宝箱 + Dailytaskgroup int32 `protobuf:"varint,9,opt,name=dailytaskgroup,proto3" json:"dailytaskgroup"` //日常任务组id } func (x *DBWTask) Reset() { @@ -124,6 +125,13 @@ func (x *DBWTask) GetBoxs() map[int32]*DBWTaskBox { return nil } +func (x *DBWTask) GetDailytaskgroup() int32 { + if x != nil { + return x.Dailytaskgroup + } + return 0 +} + type DBWTaskBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -232,8 +240,8 @@ var File_wtask_wtask_db_proto protoreflect.FileDescriptor var file_wtask_wtask_db_proto_rawDesc = []byte{ 0x0a, 0x14, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x62, 0x75, 0x72, 0x69, 0x65, 0x64, 0x2f, 0x62, - 0x75, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, - 0x02, 0x0a, 0x07, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x75, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, + 0x03, 0x0a, 0x07, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 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, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, @@ -248,28 +256,31 @@ var file_wtask_wtask_db_proto_rawDesc = []byte{ 0x73, 0x6b, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x42, - 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 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, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, - 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x70, 0x0a, 0x0a, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, - 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, - 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, + 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, + 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x39, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 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, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x46, 0x0a, 0x0b, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, - 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x6e, 0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6c, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0a, 0x44, 0x42, 0x57, 0x54, 0x61, + 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, + 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, + 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 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, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x0b, 0x44, 0x42, 0x57, + 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x6e, + 0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6c, 0x64, + 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/pb/wtask_msg.pb.go b/pb/wtask_msg.pb.go index c9ec202c1..b125ba159 100644 --- a/pb/wtask_msg.pb.go +++ b/pb/wtask_msg.pb.go @@ -625,8 +625,7 @@ type WTaskAcceptChangePush struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Accepts []*DBWTaskItem `protobuf:"bytes,1,rep,name=accepts,proto3" json:"accepts"` //已接取任务列表 - Dailytaskgroup int32 `protobuf:"varint,2,opt,name=dailytaskgroup,proto3" json:"dailytaskgroup"` //日常任务组id + Accepts []*DBWTaskItem `protobuf:"bytes,1,rep,name=accepts,proto3" json:"accepts"` //已接取任务列表 } func (x *WTaskAcceptChangePush) Reset() { @@ -668,13 +667,6 @@ func (x *WTaskAcceptChangePush) GetAccepts() []*DBWTaskItem { return nil } -func (x *WTaskAcceptChangePush) GetDailytaskgroup() int32 { - if x != nil { - return x.Dailytaskgroup - } - return 0 -} - //战斗 请求 type WTaskBattleStartReq struct { state protoimpl.MessageState @@ -1122,56 +1114,53 @@ var file_wtask_wtask_msg_proto_rawDesc = []byte{ 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x67, 0x0a, 0x15, 0x57, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3f, 0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x22, 0x63, 0x0a, 0x13, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, - 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x5b, 0x0a, 0x14, 0x57, 0x54, 0x61, - 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x22, - 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3b, 0x0a, 0x15, 0x57, 0x54, 0x61, - 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, - 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x31, 0x0a, - 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x57, 0x54, - 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, - 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, - 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, - 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, - 0x6f, 0x78, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x13, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, - 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x13, + 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x22, 0x5b, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x61, + 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x22, 0x3b, 0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x22, 0x8d, + 0x01, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, + 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, + 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x13, + 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var (