From 8d8e67c32acfdaba1304751d25a71c489c1227a2 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 19 Apr 2023 11:45:47 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E4=B8=80=E9=94=AE=E8=B8=A2=E9=A6=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/module.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/practice/module.go b/modules/practice/module.go index 71767bd3a..5b681dacb 100644 --- a/modules/practice/module.go +++ b/modules/practice/module.go @@ -413,7 +413,7 @@ func (this *Practice) CleanUpNpc(uid string) { } result.Refresh = configure.Now().Unix() - this.modelPandata.Change(uid, map[string]interface{}{ // 同步状态即可 + model.Change(uid, map[string]interface{}{ // 同步状态即可 "npcstate": 3, "refresh": result.Refresh, }) From a73e753c1902f170b68165aaeaeaea312bb96242 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 19 Apr 2023 13:45:15 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E8=B8=A2=E9=A6=86=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=A1=86=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/api_npcbattklefinish.go | 2 +- modules/practice/api_npcdialog.go | 45 ++++++++++++------------ 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/modules/practice/api_npcbattklefinish.go b/modules/practice/api_npcbattklefinish.go index 3f0678e7c..a33a4cebb 100644 --- a/modules/practice/api_npcbattklefinish.go +++ b/modules/practice/api_npcbattklefinish.go @@ -34,7 +34,7 @@ func (this *apiComp) NPCBattkleFinish(session comm.IUserSession, req *pb.Practic } if req.Report.WinSide == 1 { - room.Npcstate = 2 + room.Npcstate = 3 if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil { code = pb.ErrorCode_ConfigNoFound return diff --git a/modules/practice/api_npcdialog.go b/modules/practice/api_npcdialog.go index fc5ed60e6..5a3a9835f 100644 --- a/modules/practice/api_npcdialog.go +++ b/modules/practice/api_npcdialog.go @@ -3,7 +3,6 @@ package practice import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" ) //参数校验 @@ -14,32 +13,32 @@ func (this *apiComp) NPCDialogCheck(session comm.IUserSession, req *pb.PracticeN ///npc 此协议废弃 不用 func (this *apiComp) NPCDialog(session comm.IUserSession, req *pb.PracticeNPCDialogReq) (code pb.ErrorCode, data *pb.ErrorData) { - var ( - err error - room *pb.DBPracticeRoom - // conf *cfg.GameDispatch_BattleData - ) - if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil { - code = pb.ErrorCode_DBError - return - } - if room.Npcstate != 2 { - code = pb.ErrorCode_ReqParameterError - return - } - // if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil { - // code = pb.ErrorCode_ConfigNoFound + // var ( + // err error + // room *pb.DBPracticeRoom + // // conf *cfg.GameDispatch_BattleData + // ) + // if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil { + // code = pb.ErrorCode_DBError // return // } - // if code = this.module.DispenseRes(session, conf.StoryAward, true); code != pb.ErrorCode_Success { + // if room.Npcstate != 2 { + // code = pb.ErrorCode_ReqParameterError // return // } - room.Npcstate = 3 - room.Refresh = configure.Now().Unix() - this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{ - "npcstate": room.Npcstate, - "refresh": room.Refresh, - }) + // // if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil { + // // code = pb.ErrorCode_ConfigNoFound + // // return + // // } + // // if code = this.module.DispenseRes(session, conf.StoryAward, true); code != pb.ErrorCode_Success { + // // return + // // } + // room.Npcstate = 3 + // room.Refresh = configure.Now().Unix() + // this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{ + // "npcstate": room.Npcstate, + // "refresh": room.Refresh, + // }) session.SendMsg(string(this.module.GetType()), "npcdialog", &pb.PracticeNPCDialogResp{Issucc: true}) return } From c707bcb94b106c00d5115e5389f879e3319a1c00 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 19 Apr 2023 18:30:24 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8D=95=E7=BE=8A?= =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/gm/module.go | 2 +- modules/parkour/api_Info.go | 33 ++ modules/parkour/api_avoid.go | 2 +- modules/parkour/api_changemts.go | 36 ++ modules/parkour/api_invite.go | 36 +- modules/parkour/api_invitehandle.go | 14 +- modules/parkour/api_quitteam.go | 10 +- modules/parkour/api_racematch.go | 2 +- modules/parkour/model_parkour.go | 129 ++++- modules/parkour/model_team.go | 96 ---- modules/parkour/module.go | 34 +- modules/timer/module.go | 30 +- modules/timer/parkour.go | 266 ++++++++- modules/user/model_user.go | 4 + pb/errorcode.pb.go | 804 ++++++++++++++-------------- pb/parkour_db.pb.go | 172 +++--- pb/parkour_msg.pb.go | 773 +++++++++++++++++--------- pb/user_db.pb.go | 109 ++-- 18 files changed, 1649 insertions(+), 903 deletions(-) create mode 100644 modules/parkour/api_Info.go create mode 100644 modules/parkour/api_changemts.go delete mode 100644 modules/parkour/model_team.go diff --git a/modules/gm/module.go b/modules/gm/module.go index 1301d8231..0430ae0a0 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -69,7 +69,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC this.Debugf("create CMD :%s", cmd) // 打印个日志方便查询 datas := strings.Split(keys[1], ",") if len(datas) == 3 && (datas[0] == comm.AttrType || datas[0] == comm.ItemType || - datas[0] == comm.HeroType || datas[0] == comm.EquipmentType || datas[0] == comm.VipType || datas[0] == comm.AtlasType || datas[0] == comm.PandaType) { + datas[0] == comm.HeroType || datas[0] == comm.EquipmentType || datas[0] == comm.VipType || datas[0] == comm.AtlasType || datas[0] == comm.PandaType || datas[0] == comm.MountsType) { num, err := strconv.Atoi(datas[2]) if err != nil { code = pb.ErrorCode_ReqParameterError diff --git a/modules/parkour/api_Info.go b/modules/parkour/api_Info.go new file mode 100644 index 000000000..1e9b0aa7c --- /dev/null +++ b/modules/parkour/api_Info.go @@ -0,0 +1,33 @@ +package parkour + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ParkourInfoReq) (code pb.ErrorCode) { + return +} + +///匹配请求 +func (this *apiComp) Info(session comm.IUserSession, req *pb.ParkourInfoReq) (code pb.ErrorCode, data *pb.ErrorData) { + var ( + info *pb.DBParkour + recommend []*pb.DBParkour + err error + ) + if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success { + return + } + if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + if recommend, err = this.module.parkourComp.getrusers(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Info: info, Recommend: recommend}) + return +} diff --git a/modules/parkour/api_avoid.go b/modules/parkour/api_avoid.go index dd1811d38..8b6add009 100644 --- a/modules/parkour/api_avoid.go +++ b/modules/parkour/api_avoid.go @@ -10,7 +10,7 @@ func (this *apiComp) AvoidCheck(session comm.IUserSession, req *pb.ParkourAvoidR return } -///匹配请求 +///游戏 func (this *apiComp) Avoid(session comm.IUserSession, req *pb.ParkourAvoidReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( ok bool diff --git a/modules/parkour/api_changemts.go b/modules/parkour/api_changemts.go new file mode 100644 index 000000000..c014fd3d6 --- /dev/null +++ b/modules/parkour/api_changemts.go @@ -0,0 +1,36 @@ +package parkour + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode) { + return +} + +///游戏 +func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) { + var ( + info *pb.DBParkour + err error + ) + if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success { + return + } + if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + if _, ok := info.Mounts[req.Mtsid]; !ok { + code = pb.ErrorCode_ReqParameterError + return + } + info.Dfmount = req.Mtsid + this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "dfmount": info.Dfmount, + }) + session.SendMsg(string(this.module.GetType()), "avoid", &pb.ParkourAvoidResp{}) + return +} diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index cb4cad900..6db6073e1 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -15,7 +15,8 @@ func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInvit ///邀请组队 func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( - tean *pb.DBParkour + info *pb.DBParkour + tinfo *pb.DBParkour tuser *pb.DBUser ok bool err error @@ -23,11 +24,15 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) if code = this.InviteCheck(session, req); code != pb.ErrorCode_Success { return } - if tean, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil { + if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { code = pb.ErrorCode_DBError return } - if len(tean.Member) > 3 { + if info.Captainid != "" && info.Captainid != session.GetUserId() { //自己不是队长 无权邀请他人 + code = pb.ErrorCode_ParkourInviteNoPermissions + return + } + if len(info.Member) > 3 { code = pb.ErrorCode_ReqParameterError return } @@ -38,28 +43,37 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) } //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { - tean.Member = append(tean.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Isai: true}) + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Isai: true}) } else { + if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { + code = pb.ErrorCode_DBError + return + } + if tinfo.Captainid != "" { + code = pb.ErrorCode_ParkourTargetTeamed + return + } + ok = false - for _, v := range tean.Invite { + for _, v := range info.Invite { if v.Uid == req.Uid { v.Expired = configure.Now().Add(time.Second * 10).Unix() ok = true } } if !ok { - tean.Invite = append(tean.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name}) + info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name}) } this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice", - &pb.ParkourInviteNoticePush{Team: tean, State: 1}, req.Uid) + &pb.ParkourInviteNoticePush{Team: info, State: 1}, req.Uid) } - if err = this.module.teamComp.Change(session.GetUserId(), map[string]interface{}{ - "invite": tean.Invite, - "member": tean.Member, + if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "invite": info.Invite, + "member": info.Member, }); err != nil { code = pb.ErrorCode_DBError return } - session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteResp{Issucc: true, Team: tean}) + session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteResp{Issucc: true, Team: info}) return } diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go index c4c8cf07d..274c11d20 100644 --- a/modules/parkour/api_invitehandle.go +++ b/modules/parkour/api_invitehandle.go @@ -25,7 +25,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi if code = this.InviteHandleCheck(session, req); code != pb.ErrorCode_Success { return } - if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil { + if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil { code = pb.ErrorCode_DBError return } @@ -49,9 +49,17 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi users[i] = v.Uid } member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name} + tean.Captainid = tean.Uid tean.Member = append(tean.Member, member) - if err = this.module.teamComp.Change(tean.Captainid, map[string]interface{}{ - "member": tean.Member, + if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "captainid": tean.Captainid, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + if err = this.module.parkourComp.Change(tean.Captainid, map[string]interface{}{ + "captainid": tean.Captainid, + "member": tean.Member, }); err != nil { code = pb.ErrorCode_DBError return diff --git a/modules/parkour/api_quitteam.go b/modules/parkour/api_quitteam.go index 5cbaaea93..1e3c49163 100644 --- a/modules/parkour/api_quitteam.go +++ b/modules/parkour/api_quitteam.go @@ -22,7 +22,7 @@ func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeam if code = this.QuitTeamCheck(session, req); code != pb.ErrorCode_Success { return } - if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil { + if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil { code = pb.ErrorCode_DBError return } @@ -39,7 +39,13 @@ func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeam code = pb.ErrorCode_ReqParameterError return } - if err = this.module.teamComp.Change(req.Captainid, map[string]interface{}{ + if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "captainid": session.GetUserId(), + }); err != nil { + code = pb.ErrorCode_DBError + return + } + if err = this.module.parkourComp.Change(req.Captainid, map[string]interface{}{ "member": tean.Member, }); err != nil { code = pb.ErrorCode_DBError diff --git a/modules/parkour/api_racematch.go b/modules/parkour/api_racematch.go index 9e4c2a2a4..9c2710c20 100644 --- a/modules/parkour/api_racematch.go +++ b/modules/parkour/api_racematch.go @@ -19,7 +19,7 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat if code = this.RaceMatchCheck(session, req); code != pb.ErrorCode_Success { return } - if team, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil { + if team, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { code = pb.ErrorCode_DBError return } diff --git a/modules/parkour/model_parkour.go b/modules/parkour/model_parkour.go index b8f1b65b8..a43040cdb 100644 --- a/modules/parkour/model_parkour.go +++ b/modules/parkour/model_parkour.go @@ -1,23 +1,34 @@ package parkour import ( + "context" "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" "go_dreamfactory/sys/db" + "math/rand" + "sync" + "time" + "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" ) ///竞速数据模块 type ModelParkourComp struct { modules.MCompModel - module *Parkour + module *Parkour + refresh time.Time //上一次刷新时间 + lock sync.RWMutex + users []*pb.DBParkour //推荐用户信息 } //组件初始化接口 @@ -32,7 +43,73 @@ func (this *ModelParkourComp) Init(service core.IService, module core.IModule, c return } -func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err error) { +func (this *ModelParkourComp) Start() (err error) { + err = this.MCompModel.Start() + go this.refreshlist() + return +} + +//获取推荐用户 +func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBParkour, err error) { + var ( + users []*pb.DBParkour + ondata bool + ) + this.lock.RLock() + if len(this.users) == 0 { + ondata = true + } + this.lock.RUnlock() + if ondata { //没有数据 重新获取 + this.refreshlist() + } + this.lock.RLock() + users = make([]*pb.DBParkour, 0, len(this.users)) + for _, v := range this.users { + if v.Uid != uid { + users = append(users, v) + } + } + this.lock.RUnlock() + var num int = 6 + if len(users) < 6 { + num = len(users) + } + recommend = make([]*pb.DBParkour, num) + r := rand.New(rand.NewSource(configure.Now().Unix())) + for i, v := range r.Perm(num) { + recommend[i] = users[v] + } + return +} + +//刷新推荐列表 +func (this *ModelParkourComp) refreshlist() { + var ( + c *mongo.Cursor + err error + ) + + if c, err = this.DB.Find(core.SqlTable(this.TableName), bson.M{"captainid": ""}, options.Find().SetSort(bson.D{{"integral", -1}}).SetSkip(0).SetLimit(100)); err != nil { + this.module.Errorln(err) + return + } else { + result := make([]*pb.DBParkour, 0, c.RemainingBatchLength()) + for c.Next(context.Background()) { + tmp := &pb.DBParkour{} + if err = c.Decode(tmp); err != nil { + log.Errorln(err) + } else { + result = append(result, tmp) + } + } + this.lock.Lock() + this.users = result + this.lock.Unlock() + } +} + +func (this *ModelParkourComp) queryinfo(uid string) (result *pb.DBParkour, err error) { result = &pb.DBParkour{} if err = this.Get(uid, result); err != nil && err != mgo.MongodbNil { this.module.Errorln(err) @@ -45,12 +122,12 @@ func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err e return } result = &pb.DBParkour{ - Id: primitive.NewObjectID().Hex(), - Captainid: uid, - State: pb.RaceTeamState_teaming, - Mounts: make(map[string]int32), - Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Id: primitive.NewObjectID().Hex(), + Uid: uid, + State: pb.RaceTeamState_teaming, + Mounts: make(map[string]int32), + Invite: make([]*pb.DBRaceInvite, 0), + Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, } if err = this.Add(uid, result); err != nil { this.module.Errorln(err) @@ -61,7 +138,7 @@ func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err e return } -func (this *ModelParkourComp) queryteams(uids []string) (results []*pb.DBParkour, err error) { +func (this *ModelParkourComp) queryinfos(uids []string) (results []*pb.DBParkour, err error) { results = make([]*pb.DBParkour, 0) var ( onfound []string @@ -79,12 +156,12 @@ func (this *ModelParkourComp) queryteams(uids []string) (results []*pb.DBParkour return } temp := &pb.DBParkour{ - Id: primitive.NewObjectID().Hex(), - Captainid: v, - State: pb.RaceTeamState_teaming, - Mounts: make(map[string]int32), - Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Id: primitive.NewObjectID().Hex(), + Uid: v, + State: pb.RaceTeamState_teaming, + Mounts: make(map[string]int32), + Invite: make([]*pb.DBRaceInvite, 0), + Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, } newdata[v] = temp } @@ -117,16 +194,21 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32) return } result = &pb.DBParkour{ - Id: primitive.NewObjectID().Hex(), - Captainid: uid, - State: pb.RaceTeamState_teaming, - Invite: make([]*pb.DBRaceInvite, 0), - Mounts: make(map[string]int32), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Id: primitive.NewObjectID().Hex(), + Uid: uid, + State: pb.RaceTeamState_teaming, + Invite: make([]*pb.DBRaceInvite, 0), + Mounts: make(map[string]int32), + Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, } + for k, _ := range mounts { result.Mounts[k] = 0 + if result.Dfmount == "" { + result.Dfmount = k + } } + if err = model.Add(uid, result); err != nil { this.module.Errorf("err:%v", err) } @@ -141,11 +223,14 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32) } } else { - if result, err = this.queryteam(uid); err != nil { + if result, err = this.queryinfo(uid); err != nil { this.module.Errorln(err) } for k, _ := range mounts { result.Mounts[k] = 0 + if result.Dfmount == "" { + result.Dfmount = k + } } this.Change(uid, map[string]interface{}{ "mounts": result.Mounts, diff --git a/modules/parkour/model_team.go b/modules/parkour/model_team.go deleted file mode 100644 index d5fa0df56..000000000 --- a/modules/parkour/model_team.go +++ /dev/null @@ -1,96 +0,0 @@ -package parkour - -import ( - "fmt" - "go_dreamfactory/comm" - "go_dreamfactory/lego/core" - "go_dreamfactory/lego/sys/mgo" - "go_dreamfactory/modules" - "go_dreamfactory/pb" - - "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo" - "go.mongodb.org/mongo-driver/x/bsonx" -) - -///竞速数据模块 -type ModelTeamComp struct { - modules.MCompModel - module *Parkour -} - -//组件初始化接口 -func (this *ModelTeamComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) { - this.TableName = comm.TableParkourTeam - this.MCompModel.Init(service, module, comp, opt) - this.module = module.(*Parkour) - //创建uid索引 - this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ - Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, - }) - return -} - -func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBParkour, err error) { - result = &pb.DBParkour{} - if err = this.Get(uid, result); err != nil && err != mgo.MongodbNil { - this.module.Errorln(err) - return - } - if err == mgo.MongodbNil { - var tuser *pb.DBUser - if tuser = this.module.ModuleUser.GetUser(uid); tuser == nil { - err = fmt.Errorf("no found udata:%s", uid) - return - } - result = &pb.DBParkour{ - Id: primitive.NewObjectID().Hex(), - Captainid: uid, - State: pb.RaceTeamState_teaming, - Mounts: make(map[string]int32), - Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, - } - if err = this.Add(uid, result); err != nil { - this.module.Errorln(err) - return - } - } - err = nil - return -} - -func (this *ModelTeamComp) queryteams(uids []string) (results []*pb.DBParkour, err error) { - results = make([]*pb.DBParkour, 0) - var ( - onfound []string - newdata map[string]interface{} = make(map[string]interface{}) - ) - if onfound, err = this.Gets(uids, &results); err != nil { - this.module.Errorln(err) - return - } - if len(onfound) > 0 { - for _, v := range onfound { - var tuser *pb.DBUser - if tuser = this.module.ModuleUser.GetUser(v); tuser == nil { - err = fmt.Errorf("no found udata:%s", v) - return - } - temp := &pb.DBParkour{ - Id: primitive.NewObjectID().Hex(), - Captainid: v, - State: pb.RaceTeamState_teaming, - Mounts: make(map[string]int32), - Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, - } - newdata[v] = temp - } - if err = this.Adds(newdata); err != nil { - this.module.Errorln(err) - return - } - } - return -} diff --git a/modules/parkour/module.go b/modules/parkour/module.go index a9b5a81c5..5fd0e2fb9 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -31,7 +31,6 @@ type Parkour struct { service base.IRPCXService api *apiComp configure *configureComp - teamComp *ModelTeamComp parkourComp *ModelParkourComp raceComp *ModelRaceComp lock sync.RWMutex @@ -62,8 +61,8 @@ func (this *Parkour) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) - this.teamComp = this.RegisterComp(new(ModelTeamComp)).(*ModelTeamComp) this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp) + this.raceComp = this.RegisterComp(new(ModelRaceComp)).(*ModelRaceComp) } //添加坐骑资源 @@ -103,8 +102,6 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu race *pb.DBRace battle *RaceItem sessions []comm.IUserSession = make([]comm.IUserSession, 0) - teams []*pb.DBParkour - users []string = make([]string, 0) ) this.Debug("createbattle", log.Field{Key: "req", Value: req.String()}) @@ -122,29 +119,26 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu } for _, v := range req.Red { - users = append(users, v.Uid) - session, online := this.GetUserSession(v.Uid) - v.Isoff = !online - if online { - battle.RedSession = append(battle.RedSession, session) + if !v.Isai { //非AI + session, online := this.GetUserSession(v.Uid) + v.Isoff = !online + if online { + battle.RedSession = append(battle.RedSession, session) + } } + } battle.RedMember = req.Red for _, v := range req.Bule { - users = append(users, v.Uid) - session, online := this.GetUserSession(v.Uid) - v.Isoff = !online - if online { - battle.BuleSession = append(battle.BuleSession, session) + if !v.Isai { //非AI + session, online := this.GetUserSession(v.Uid) + v.Isoff = !online + if online { + battle.BuleSession = append(battle.BuleSession, session) + } } } battle.BuleMember = req.Bule - if teams, err = this.teamComp.queryteams(users); err != nil { - return - } - for _, v := range teams { - v.State = pb.RaceTeamState_raceing - } if err = this.raceComp.addrace(race); err != nil { return } diff --git a/modules/timer/module.go b/modules/timer/module.go index be54b2341..fe1340958 100644 --- a/modules/timer/module.go +++ b/modules/timer/module.go @@ -6,6 +6,8 @@ import ( "go_dreamfactory/lego/core" "go_dreamfactory/lego/core/cbase" "go_dreamfactory/lego/sys/log" + "go_dreamfactory/sys/db" + "time" ) /* @@ -25,8 +27,9 @@ type Timer struct { service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口 chat *ChatComp //俩天系统定时任务 //season *SeasonPagoda - forum *ForumComp - arena *ArenaComp + forum *ForumComp + arena *ArenaComp + parkour *ParkourComp } //模块名 @@ -58,6 +61,29 @@ func (this *Timer) OnInstallComp() { this.chat = this.RegisterComp(new(ChatComp)).(*ChatComp) //this.season = this.RegisterComp(new(SeasonPagoda)).(*SeasonPagoda) this.arena = this.RegisterComp(new(ArenaComp)).(*ArenaComp) + this.parkour = this.RegisterComp(new(ParkourComp)).(*ParkourComp) +} + +//跨服对象获取数据操作对象 +func (this *Timer) getDBModelByUid(uid, tableName string) (model *db.DBModel, err error) { + var ( + stag string + conn *db.DBConn + ) + if stag, err = comm.UidToSTag(uid); err != nil { + return + } + if stag == this.service.GetTag() { + if conn, err = db.Local(); err != nil { + return + } + } else { + if conn, err = db.ServerDBConn(stag); err != nil { + return + } + } + model = db.NewDBModel(tableName, time.Hour, conn) + return } //日志 diff --git a/modules/timer/parkour.go b/modules/timer/parkour.go index 91bc463e2..ef3a6f809 100644 --- a/modules/timer/parkour.go +++ b/modules/timer/parkour.go @@ -12,6 +12,11 @@ import ( "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/cron" + "go_dreamfactory/lego/sys/log" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" ) /* @@ -21,6 +26,9 @@ type ParkourComp struct { modules.MCompConfigure service base.IRPCXService module *Timer + refresh time.Time //上一次刷新时间 + ulock sync.RWMutex + users []*pb.DBRaceMember //推荐用户信息 lock sync.RWMutex teams map[string][]*pb.DBRaceMember total int32 @@ -39,10 +47,53 @@ func (this *ParkourComp) Init(service core.IService, module core.IModule, comp c func (this *ParkourComp) Start() (err error) { err = this.MCompConfigure.Start() if db.IsCross() { + this.refreshlist() this.service.RegisterFunctionName(string(comm.RPC_ParkourJoinMatch), this.join) - if _, err = cron.AddFunc("0 59 23 ? * SAT", this.timer); err != nil { + if _, err = cron.AddFunc("5 * * * * ?", this.timer); err != nil { this.module.Errorf("cron.AddFunc err:%v", err) } + if _, err = cron.AddFunc("1 1 * * * ?", this.refreshlist); err != nil { + this.module.Errorf("cron.AddFunc err:%v", err) + } + } + return +} + +//刷新推荐列表 +func (this *ParkourComp) refreshlist() { + var ( + c *mongo.Cursor + conn *db.DBConn + err error + ) + if conn, err = db.Local(); err != nil { + return + } + if c, err = conn.Mgo.Find(core.SqlTable(comm.TableParkour), bson.M{}, options.Find().SetSort(bson.D{{"integral", -1}}).SetSkip(0).SetLimit(100)); err != nil { + this.module.Errorln(err) + return + } else { + result := make([]*pb.DBParkour, 0, c.RemainingBatchLength()) + for c.Next(context.Background()) { + tmp := &pb.DBParkour{} + if err = c.Decode(tmp); err != nil { + log.Errorln(err) + } else { + result = append(result, tmp) + } + } + this.ulock.Lock() + this.users = this.users[:0] + for _, v := range result { + this.users = append(this.users, &pb.DBRaceMember{ + Uid: v.Uid, + Mount: v.Dfmount, + Hp: 6, + Isai: true, + }) + } + + this.ulock.Unlock() } return } @@ -137,5 +188,218 @@ func (this *ParkourComp) join(ctx context.Context, req *pb.RPCParkourJoinMatchRe //定时匹配处理 func (this *ParkourComp) timer() { + if this.total == 0 { + return + } + this.ulock.RLock() + this.ulock.RUnlock() + this.lock.Lock() + defer this.lock.Unlock() + var ( + ok bool + err error + users []*pb.DBRaceMember + teams1 []string = make([]string, 0) + teams2 []string = make([]string, 0) + teams3 []string = make([]string, 0) + left int32 = this.total + red []string = make([]string, 0) + rednum int = 0 + reduser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0) + bule []string = make([]string, 0) + bulenum int = 0 + buleuser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0) + order bool = false + ) + for k, v := range this.teams { + if len(v) == 1 { + teams1 = append(teams1, k) + } else if len(v) == 2 { + teams2 = append(teams2, k) + } else { + teams3 = append(teams3, k) + } + } + this.ulock.Lock() + users = make([]*pb.DBRaceMember, 0, len(this.users)) + for _, v1 := range this.users { + ok = false + for _, v := range this.teams { + for _, v2 := range v { + if v1.Uid == v2.Uid { + ok = true + } + } + } + if !ok { //过滤掉已存在的人员 + users = append(users, v1) + } + } + this.ulock.Unlock() + if len(users)+int(this.total) < 6 { //人员不足 + return + } + + var fn = func() { + if order { + //找红队 + if rednum <= 0 && len(teams3) > 0 { + red = append(red, teams3[0]) + teams3 = teams3[1:] + rednum = 3 + left -= 3 + } else if rednum <= 1 && len(teams2) > 0 { + red = append(red, teams2[0]) + teams2 = teams2[1:] + rednum = 2 + left -= 2 + } else if rednum <= 2 && len(teams1) > 0 { + red = append(red, teams1[0]) + teams1 = teams1[1:] + rednum = 1 + left -= 1 + } + + //找蓝队 + if bulenum <= 0 && len(teams3) > 0 { + bule = append(bule, teams3[0]) + teams3 = teams3[1:] + bulenum = 3 + left -= 3 + } else if bulenum <= 1 && len(teams2) > 0 { + bule = append(bule, teams2[0]) + teams2 = teams2[1:] + bulenum = 2 + left -= 2 + } else if bulenum <= 2 && len(teams1) > 0 { + bule = append(bule, teams1[0]) + teams1 = teams1[1:] + bulenum = 1 + left -= 1 + } + } else { + //找蓝队 + if bulenum <= 0 && len(teams3) > 0 { + bule = append(bule, teams3[0]) + teams3 = teams3[1:] + bulenum = 3 + left -= 3 + } else if bulenum <= 1 && len(teams2) > 0 { + bule = append(bule, teams2[0]) + teams2 = teams2[1:] + bulenum = 2 + left -= 2 + } else if bulenum <= 2 && len(teams1) > 0 { + bule = append(bule, teams1[0]) + teams1 = teams1[1:] + bulenum = 1 + left -= 1 + } + //找红队 + if rednum <= 0 && len(teams3) > 0 { + red = append(red, teams3[0]) + teams3 = teams3[1:] + rednum = 3 + left -= 3 + } else if rednum <= 1 && len(teams2) > 0 { + red = append(red, teams2[0]) + teams2 = teams2[1:] + rednum = 2 + left -= 2 + } else if rednum <= 2 && len(teams1) > 0 { + red = append(red, teams1[0]) + teams1 = teams1[1:] + rednum = 1 + left -= 1 + } + + } + order = !order + } + fn() + if (rednum < 3 || bulenum < 3) && left > 0 { + _lt := left + fn() + if left < _lt { + fn() //做多执行三次即可 + } + } + for _, v := range red { + reduser = append(reduser, this.teams[v]...) + } + for _, v := range bule { + buleuser = append(reduser, this.teams[v]...) + } + + if len(users)+rednum+bulenum < 6 { + return + } + + //补充人员 + if len(reduser) < 3 { + reduser = append(reduser, users[0:(3-len(reduser))]...) + users = users[(3 - len(reduser)):] + for _, v := range reduser[rednum:3] { + if v.Name == "" { //同步用户数据 + if user, err := this.getuser(v.Uid); err != nil { + this.module.Errorln(err) + return + } else { + v.Name = user.Name + v.Avatar = user.Avatar + } + } + } + } + if len(buleuser) < 3 { + buleuser = append(buleuser, users[0:(3-len(buleuser))]...) + users = users[(3 - len(buleuser)):] + for _, v := range buleuser[bulenum:3] { + if v.Name == "" { //同步用户数据 + if user, err := this.getuser(v.Uid); err != nil { + this.module.Errorln(err) + return + } else { + v.Name = user.Name + v.Avatar = user.Avatar + } + } + } + } + + ctx, _ := context.WithTimeout(context.Background(), time.Second*2) + if err = this.service.RpcCall(ctx, + comm.Service_Worker, + string(comm.RPC_ParkourMatchSucc), + &pb.RPCParkourMatchSuccReq{Red: reduser, Bule: buleuser}, + &pb.RPCParkourMatchSuccResp{}, + ); err != nil { + this.module.Errorln(err) + return + } + + for _, v := range red { + delete(this.teams, v) + } + for _, v := range bule { + delete(this.teams, v) + } + this.total -= int32(rednum) + this.total -= int32(bulenum) +} + +// 从远程库查询用户 +func (this *ParkourComp) getuser(uid string) (user *pb.DBUser, err error) { + var ( + model *db.DBModel + ) + if model, err = this.module.getDBModelByUid(uid, comm.TableUser); err != nil { + return + } + user = &pb.DBUser{} + if err = model.Get(uid, user); err != nil { + this.module.Errorln(err) + } + return } diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 48f667e8a..c15118d2a 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -42,6 +42,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: "name", Value: bsonx.Int32(1)}}, }) + + this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ + Keys: bsonx.Doc{{Key: "logintime", Value: bsonx.Int32(1)}}, + }) return } diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 705762dfd..6cdd9131b 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -77,6 +77,10 @@ const ( ErrorCode_UserSign ErrorCode = 1022 //签到状态不对 ErrorCode_OpenCondErr ErrorCode = 1023 //功能开启条件未达到 ErrorCode_OpenCondActivate ErrorCode = 1024 //功能开启条件已激活 + ErrorCode_UserTalent1NoEnough ErrorCode = 1025 //阵营1天赋点 + ErrorCode_UserTalent2NoEnough ErrorCode = 1026 //阵营2天赋点 + ErrorCode_UserTalent3NoEnough ErrorCode = 1027 //阵营3天赋点 + ErrorCode_UserTalent4NoEnough ErrorCode = 1028 //阵营4天赋点 // friend ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己 ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量 @@ -365,8 +369,10 @@ const ( ErrorCode_PracticeYouQiecuoing ErrorCode = 4305 //你有切磋未完成 ErrorCode_PracticeTargetQiecuoing ErrorCode = 4306 //目标正在切磋中 //parkour - ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满 - ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期 + ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满 + ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期 + ErrorCode_ParkourInviteNoPermissions ErrorCode = 4403 //无权邀请 + ErrorCode_ParkourTargetTeamed ErrorCode = 4404 //目标已组队 ) // Enum value maps for ErrorCode. @@ -424,6 +430,10 @@ var ( 1022: "UserSign", 1023: "OpenCondErr", 1024: "OpenCondActivate", + 1025: "UserTalent1NoEnough", + 1026: "UserTalent2NoEnough", + 1027: "UserTalent3NoEnough", + 1028: "UserTalent4NoEnough", 1100: "FriendNotSelf", 1101: "FriendSelfMax", 1102: "FriendTargetMax", @@ -681,6 +691,8 @@ var ( 4306: "PracticeTargetQiecuoing", 4401: "ParkourMemberFull", 4402: "ParkourInviteOverdue", + 4403: "ParkourInviteNoPermissions", + 4404: "ParkourTargetTeamed", } ErrorCode_value = map[string]int32{ "Success": 0, @@ -735,6 +747,10 @@ var ( "UserSign": 1022, "OpenCondErr": 1023, "OpenCondActivate": 1024, + "UserTalent1NoEnough": 1025, + "UserTalent2NoEnough": 1026, + "UserTalent3NoEnough": 1027, + "UserTalent4NoEnough": 1028, "FriendNotSelf": 1100, "FriendSelfMax": 1101, "FriendTargetMax": 1102, @@ -992,6 +1008,8 @@ var ( "PracticeTargetQiecuoing": 4306, "ParkourMemberFull": 4401, "ParkourInviteOverdue": 4402, + "ParkourInviteNoPermissions": 4403, + "ParkourTargetTeamed": 4404, } ) @@ -1026,7 +1044,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, 0xa8, 0x38, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xcb, 0x39, 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, @@ -1092,392 +1110,402 @@ var file_errorcode_proto_rawDesc = []byte{ 0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x10, 0xff, 0x07, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, - 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, - 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, - 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, - 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, - 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, - 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, - 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, - 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, - 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, - 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, - 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, - 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, - 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, - 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, - 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, - 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, - 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, - 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, - 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, - 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, - 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, - 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, - 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, - 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, - 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, - 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, - 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, - 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, - 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, - 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, - 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, - 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, - 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, - 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, - 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, - 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, - 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, - 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, - 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, - 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, - 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, - 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, - 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, - 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, - 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, - 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, - 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, - 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, - 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, - 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, - 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, - 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, - 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, - 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, - 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, - 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, - 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, - 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, - 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, - 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, - 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, - 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, - 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, - 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, - 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, - 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, - 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, - 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, - 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, - 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, - 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, - 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, - 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, - 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, - 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, - 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, - 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, - 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, - 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, - 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, - 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, - 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, - 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, + 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x31, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x81, 0x08, 0x12, + 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x4e, 0x6f, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x82, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, + 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0x83, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x34, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x84, 0x08, 0x12, 0x12, 0x0a, + 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, + 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, + 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, + 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, + 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, + 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, + 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, + 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, + 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, + 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, + 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, + 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, + 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, + 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, + 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, + 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, + 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, + 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, + 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, + 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, + 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, + 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, + 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, + 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, + 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, + 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, + 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, + 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, + 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, + 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, + 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, + 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, + 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, + 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, + 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, + 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, + 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, + 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, + 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, + 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, + 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, + 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, + 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, + 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, + 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, + 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, + 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, + 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, + 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, + 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, + 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, + 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, + 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, + 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, + 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, + 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, + 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, + 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, + 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, + 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, + 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, + 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, + 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, + 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, + 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, + 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, + 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, + 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, + 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, + 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, + 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, + 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, + 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, + 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, + 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, + 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, + 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, + 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, + 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, + 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, + 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, + 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, + 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, + 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, + 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, + 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, + 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, + 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, + 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, + 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, + 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, + 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, + 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, - 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, - 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, - 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, - 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, - 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, - 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, - 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, - 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, - 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, - 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, - 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, - 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, - 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, - 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, - 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, - 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, - 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, - 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, - 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, - 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, - 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, - 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, - 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, - 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, - 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, - 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, - 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, - 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, - 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, - 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, - 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, - 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, - 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, - 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, - 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, - 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, - 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, - 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, - 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, - 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, - 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, - 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, - 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, - 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, - 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, - 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, - 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, - 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, - 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, - 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, - 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, - 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, - 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, - 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, - 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, - 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, - 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, - 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, - 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, - 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, - 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, - 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 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, 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, 0x42, 0x06, 0x5a, 0x04, - 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, + 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, + 0x45, 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, + 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, + 0x73, 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, + 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, + 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x10, 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, + 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, + 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, + 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, + 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, + 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, + 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, + 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, + 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, + 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, + 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, + 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, + 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, + 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, + 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, + 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, + 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, + 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, + 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, + 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, + 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, + 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, + 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, + 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, + 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, + 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, + 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, + 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, + 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, + 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, + 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, + 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, + 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, + 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, + 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, + 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, + 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, + 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, + 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, + 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, + 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0xe9, 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, 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, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/parkour_db.pb.go b/pb/parkour_db.pb.go index 3506a730a..b31bde041 100644 --- a/pb/parkour_db.pb.go +++ b/pb/parkour_db.pb.go @@ -124,12 +124,13 @@ type DBRaceMember struct { Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称 - Mount string `protobuf:"bytes,3,opt,name=mount,proto3" json:"mount"` //上阵坐骑 - Hp int32 `protobuf:"varint,4,opt,name=hp,proto3" json:"hp"` //初始血量 - Innermost int32 `protobuf:"varint,5,opt,name=innermost,proto3" json:"innermost"` //里程数 - Ready bool `protobuf:"varint,6,opt,name=ready,proto3" json:"ready"` //是否准备 - Isai bool `protobuf:"varint,7,opt,name=isai,proto3" json:"isai"` //是否是ai - Isoff bool `protobuf:"varint,8,opt,name=isoff,proto3" json:"isoff"` //是否离线 + Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像 + Mount string `protobuf:"bytes,4,opt,name=mount,proto3" json:"mount"` //上阵坐骑 + Hp int32 `protobuf:"varint,5,opt,name=hp,proto3" json:"hp"` //初始血量 + Innermost int32 `protobuf:"varint,6,opt,name=innermost,proto3" json:"innermost"` //里程数 + Ready bool `protobuf:"varint,7,opt,name=ready,proto3" json:"ready"` //是否准备 + Isai bool `protobuf:"varint,8,opt,name=isai,proto3" json:"isai"` //是否是ai + Isoff bool `protobuf:"varint,9,opt,name=isoff,proto3" json:"isoff"` //是否离线 } func (x *DBRaceMember) Reset() { @@ -178,6 +179,13 @@ func (x *DBRaceMember) GetName() string { return "" } +func (x *DBRaceMember) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + func (x *DBRaceMember) GetMount() string { if x != nil { return x.Mount @@ -227,7 +235,8 @@ type DBRaceInvite struct { Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称 - Expired int64 `protobuf:"varint,3,opt,name=expired,proto3" json:"expired"` //过期时间 + Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像 + Expired int64 `protobuf:"varint,4,opt,name=expired,proto3" json:"expired"` //过期时间 } func (x *DBRaceInvite) Reset() { @@ -276,6 +285,13 @@ func (x *DBRaceInvite) GetName() string { return "" } +func (x *DBRaceInvite) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + func (x *DBRaceInvite) GetExpired() int64 { if x != nil { return x.Expired @@ -290,12 +306,14 @@ type DBParkour struct { unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` // 队伍id - Mounts map[string]int32 `protobuf:"bytes,2,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表 - Dfmount string `protobuf:"bytes,3,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑 - State RaceTeamState `protobuf:"varint,4,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态 - Captainid string `protobuf:"bytes,5,opt,name=captainid,proto3" json:"captainid"` //队长id - Invite []*DBRaceInvite `protobuf:"bytes,6,rep,name=invite,proto3" json:"invite"` //邀请列表 - Member []*DBRaceMember `protobuf:"bytes,7,rep,name=member,proto3" json:"member"` //成员列表 + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户id + Mounts map[string]int32 `protobuf:"bytes,3,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表 + Dfmount string `protobuf:"bytes,4,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑 + State RaceTeamState `protobuf:"varint,5,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态 + Integral int32 `protobuf:"varint,6,opt,name=integral,proto3" json:"integral"` //积分 + Captainid string `protobuf:"bytes,7,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍 + Invite []*DBRaceInvite `protobuf:"bytes,8,rep,name=invite,proto3" json:"invite"` //邀请列表 + Member []*DBRaceMember `protobuf:"bytes,9,rep,name=member,proto3" json:"member"` //成员列表 } func (x *DBParkour) Reset() { @@ -337,6 +355,13 @@ func (x *DBParkour) GetId() string { return "" } +func (x *DBParkour) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + func (x *DBParkour) GetMounts() map[string]int32 { if x != nil { return x.Mounts @@ -358,6 +383,13 @@ func (x *DBParkour) GetState() RaceTeamState { return RaceTeamState_teaming } +func (x *DBParkour) GetIntegral() int32 { + if x != nil { + return x.Integral + } + return 0 +} + func (x *DBParkour) GetCaptainid() string { if x != nil { return x.Captainid @@ -479,65 +511,71 @@ var File_parkour_parkour_db_proto protoreflect.FileDescriptor var file_parkour_parkour_db_proto_rawDesc = []byte{ 0x0a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, - 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x44, + 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, - 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, - 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x73, 0x61, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x4e, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 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, 0x18, 0x0a, 0x07, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x66, 0x0a, + 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 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, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0xe0, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e, - 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52, - 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, - 0x64, 0x12, 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, - 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 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, 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, 0xef, 0x01, 0x0a, 0x06, 0x44, - 0x42, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, - 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, - 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, + 0x72, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, + 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, + 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x39, 0x0a, + 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 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, 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, 0xef, 0x01, 0x0a, 0x06, 0x44, 0x42, 0x52, + 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x2b, + 0x0a, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2a, 0x22, 0x0a, 0x08, - 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, - 0x2a, 0x37, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0c, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x72, 0x61, 0x63, 0x65, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0a, 0x62, + 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, + 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x61, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x37, + 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, + 0x63, 0x65, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go index 46d43ac37..abbe20f21 100644 --- a/pb/parkour_msg.pb.go +++ b/pb/parkour_msg.pb.go @@ -20,6 +20,205 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +//请求比赛信息 +type ParkourInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ParkourInfoReq) Reset() { + *x = ParkourInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourInfoReq) ProtoMessage() {} + +func (x *ParkourInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[0] + 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 ParkourInfoReq.ProtoReflect.Descriptor instead. +func (*ParkourInfoReq) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{0} +} + +//请求比赛信息请求 +type ParkourInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info *DBParkour `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + Recommend []*DBParkour `protobuf:"bytes,2,rep,name=recommend,proto3" json:"recommend"` +} + +func (x *ParkourInfoResp) Reset() { + *x = ParkourInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourInfoResp) ProtoMessage() {} + +func (x *ParkourInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[1] + 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 ParkourInfoResp.ProtoReflect.Descriptor instead. +func (*ParkourInfoResp) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{1} +} + +func (x *ParkourInfoResp) GetInfo() *DBParkour { + if x != nil { + return x.Info + } + return nil +} + +func (x *ParkourInfoResp) GetRecommend() []*DBParkour { + if x != nil { + return x.Recommend + } + return nil +} + +//变更坐骑请求 +type ParkourChangeMtsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mtsid string `protobuf:"bytes,1,opt,name=mtsid,proto3" json:"mtsid"` +} + +func (x *ParkourChangeMtsReq) Reset() { + *x = ParkourChangeMtsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourChangeMtsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourChangeMtsReq) ProtoMessage() {} + +func (x *ParkourChangeMtsReq) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[2] + 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 ParkourChangeMtsReq.ProtoReflect.Descriptor instead. +func (*ParkourChangeMtsReq) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *ParkourChangeMtsReq) GetMtsid() string { + if x != nil { + return x.Mtsid + } + return "" +} + +//变更坐骑请求 +type ParkourChangeMtsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"` + Mtsid string `protobuf:"bytes,2,opt,name=mtsid,proto3" json:"mtsid"` +} + +func (x *ParkourChangeMtsResp) Reset() { + *x = ParkourChangeMtsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourChangeMtsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourChangeMtsResp) ProtoMessage() {} + +func (x *ParkourChangeMtsResp) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[3] + 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 ParkourChangeMtsResp.ProtoReflect.Descriptor instead. +func (*ParkourChangeMtsResp) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *ParkourChangeMtsResp) GetIssucc() bool { + if x != nil { + return x.Issucc + } + return false +} + +func (x *ParkourChangeMtsResp) GetMtsid() string { + if x != nil { + return x.Mtsid + } + return "" +} + //推送捕羊大赛用户信息改变 type ParkourInfoChangePush struct { state protoimpl.MessageState @@ -32,7 +231,7 @@ type ParkourInfoChangePush struct { func (x *ParkourInfoChangePush) Reset() { *x = ParkourInfoChangePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[0] + mi := &file_parkour_parkour_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45,7 +244,7 @@ func (x *ParkourInfoChangePush) String() string { func (*ParkourInfoChangePush) ProtoMessage() {} func (x *ParkourInfoChangePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[0] + mi := &file_parkour_parkour_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58,7 +257,7 @@ func (x *ParkourInfoChangePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInfoChangePush.ProtoReflect.Descriptor instead. func (*ParkourInfoChangePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{0} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4} } func (x *ParkourInfoChangePush) GetInfo() *DBParkour { @@ -80,7 +279,7 @@ type ParkourInviteReq struct { func (x *ParkourInviteReq) Reset() { *x = ParkourInviteReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[1] + mi := &file_parkour_parkour_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93,7 +292,7 @@ func (x *ParkourInviteReq) String() string { func (*ParkourInviteReq) ProtoMessage() {} func (x *ParkourInviteReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[1] + mi := &file_parkour_parkour_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106,7 +305,7 @@ func (x *ParkourInviteReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInviteReq.ProtoReflect.Descriptor instead. func (*ParkourInviteReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{1} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{5} } func (x *ParkourInviteReq) GetUid() string { @@ -129,7 +328,7 @@ type ParkourInviteResp struct { func (x *ParkourInviteResp) Reset() { *x = ParkourInviteResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[2] + mi := &file_parkour_parkour_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -142,7 +341,7 @@ func (x *ParkourInviteResp) String() string { func (*ParkourInviteResp) ProtoMessage() {} func (x *ParkourInviteResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[2] + mi := &file_parkour_parkour_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -155,7 +354,7 @@ func (x *ParkourInviteResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInviteResp.ProtoReflect.Descriptor instead. func (*ParkourInviteResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{2} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6} } func (x *ParkourInviteResp) GetIssucc() bool { @@ -185,7 +384,7 @@ type ParkourInviteNoticePush struct { func (x *ParkourInviteNoticePush) Reset() { *x = ParkourInviteNoticePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[3] + mi := &file_parkour_parkour_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -198,7 +397,7 @@ func (x *ParkourInviteNoticePush) String() string { func (*ParkourInviteNoticePush) ProtoMessage() {} func (x *ParkourInviteNoticePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[3] + mi := &file_parkour_parkour_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -211,7 +410,7 @@ func (x *ParkourInviteNoticePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInviteNoticePush.ProtoReflect.Descriptor instead. func (*ParkourInviteNoticePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{3} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{7} } func (x *ParkourInviteNoticePush) GetTeam() *DBParkour { @@ -240,7 +439,7 @@ type ParkourTeamChanagePush struct { func (x *ParkourTeamChanagePush) Reset() { *x = ParkourTeamChanagePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[4] + mi := &file_parkour_parkour_msg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -253,7 +452,7 @@ func (x *ParkourTeamChanagePush) String() string { func (*ParkourTeamChanagePush) ProtoMessage() {} func (x *ParkourTeamChanagePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[4] + mi := &file_parkour_parkour_msg_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -266,7 +465,7 @@ func (x *ParkourTeamChanagePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourTeamChanagePush.ProtoReflect.Descriptor instead. func (*ParkourTeamChanagePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{8} } func (x *ParkourTeamChanagePush) GetTeam() *DBParkour { @@ -289,7 +488,7 @@ type ParkourInviteHandleReq struct { func (x *ParkourInviteHandleReq) Reset() { *x = ParkourInviteHandleReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[5] + mi := &file_parkour_parkour_msg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -302,7 +501,7 @@ func (x *ParkourInviteHandleReq) String() string { func (*ParkourInviteHandleReq) ProtoMessage() {} func (x *ParkourInviteHandleReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[5] + mi := &file_parkour_parkour_msg_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -315,7 +514,7 @@ func (x *ParkourInviteHandleReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInviteHandleReq.ProtoReflect.Descriptor instead. func (*ParkourInviteHandleReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{5} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{9} } func (x *ParkourInviteHandleReq) GetCaptainid() string { @@ -343,7 +542,7 @@ type ParkourInviteHandleResp struct { func (x *ParkourInviteHandleResp) Reset() { *x = ParkourInviteHandleResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[6] + mi := &file_parkour_parkour_msg_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -356,7 +555,7 @@ func (x *ParkourInviteHandleResp) String() string { func (*ParkourInviteHandleResp) ProtoMessage() {} func (x *ParkourInviteHandleResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[6] + mi := &file_parkour_parkour_msg_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -369,7 +568,7 @@ func (x *ParkourInviteHandleResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourInviteHandleResp.ProtoReflect.Descriptor instead. func (*ParkourInviteHandleResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{10} } func (x *ParkourInviteHandleResp) GetIsSucc() bool { @@ -391,7 +590,7 @@ type ParkourQuitTeamReq struct { func (x *ParkourQuitTeamReq) Reset() { *x = ParkourQuitTeamReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[7] + mi := &file_parkour_parkour_msg_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -404,7 +603,7 @@ func (x *ParkourQuitTeamReq) String() string { func (*ParkourQuitTeamReq) ProtoMessage() {} func (x *ParkourQuitTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[7] + mi := &file_parkour_parkour_msg_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -417,7 +616,7 @@ func (x *ParkourQuitTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourQuitTeamReq.ProtoReflect.Descriptor instead. func (*ParkourQuitTeamReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{7} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{11} } func (x *ParkourQuitTeamReq) GetCaptainid() string { @@ -437,7 +636,7 @@ type ParkourQuitTeamResp struct { func (x *ParkourQuitTeamResp) Reset() { *x = ParkourQuitTeamResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[8] + mi := &file_parkour_parkour_msg_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -450,7 +649,7 @@ func (x *ParkourQuitTeamResp) String() string { func (*ParkourQuitTeamResp) ProtoMessage() {} func (x *ParkourQuitTeamResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[8] + mi := &file_parkour_parkour_msg_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -463,7 +662,7 @@ func (x *ParkourQuitTeamResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourQuitTeamResp.ProtoReflect.Descriptor instead. func (*ParkourQuitTeamResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{8} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{12} } //队伍成员加入推送 @@ -478,7 +677,7 @@ type ParkourTeamJoinNoticePush struct { func (x *ParkourTeamJoinNoticePush) Reset() { *x = ParkourTeamJoinNoticePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[9] + mi := &file_parkour_parkour_msg_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -491,7 +690,7 @@ func (x *ParkourTeamJoinNoticePush) String() string { func (*ParkourTeamJoinNoticePush) ProtoMessage() {} func (x *ParkourTeamJoinNoticePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[9] + mi := &file_parkour_parkour_msg_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -504,7 +703,7 @@ func (x *ParkourTeamJoinNoticePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourTeamJoinNoticePush.ProtoReflect.Descriptor instead. func (*ParkourTeamJoinNoticePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{9} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{13} } func (x *ParkourTeamJoinNoticePush) GetMember() *DBRaceMember { @@ -526,7 +725,7 @@ type ParkourTeamQuitNoticePush struct { func (x *ParkourTeamQuitNoticePush) Reset() { *x = ParkourTeamQuitNoticePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[10] + mi := &file_parkour_parkour_msg_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -539,7 +738,7 @@ func (x *ParkourTeamQuitNoticePush) String() string { func (*ParkourTeamQuitNoticePush) ProtoMessage() {} func (x *ParkourTeamQuitNoticePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[10] + mi := &file_parkour_parkour_msg_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -552,7 +751,7 @@ func (x *ParkourTeamQuitNoticePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourTeamQuitNoticePush.ProtoReflect.Descriptor instead. func (*ParkourTeamQuitNoticePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{10} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{14} } func (x *ParkourTeamQuitNoticePush) GetMember() *DBRaceMember { @@ -572,7 +771,7 @@ type ParkourTeamDisbandNoticePush struct { func (x *ParkourTeamDisbandNoticePush) Reset() { *x = ParkourTeamDisbandNoticePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[11] + mi := &file_parkour_parkour_msg_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -585,7 +784,7 @@ func (x *ParkourTeamDisbandNoticePush) String() string { func (*ParkourTeamDisbandNoticePush) ProtoMessage() {} func (x *ParkourTeamDisbandNoticePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[11] + mi := &file_parkour_parkour_msg_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -598,7 +797,7 @@ func (x *ParkourTeamDisbandNoticePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourTeamDisbandNoticePush.ProtoReflect.Descriptor instead. func (*ParkourTeamDisbandNoticePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{11} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{15} } //匹配请求 @@ -611,7 +810,7 @@ type ParkourRaceMatchReq struct { func (x *ParkourRaceMatchReq) Reset() { *x = ParkourRaceMatchReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[12] + mi := &file_parkour_parkour_msg_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -624,7 +823,7 @@ func (x *ParkourRaceMatchReq) String() string { func (*ParkourRaceMatchReq) ProtoMessage() {} func (x *ParkourRaceMatchReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[12] + mi := &file_parkour_parkour_msg_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -637,7 +836,7 @@ func (x *ParkourRaceMatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceMatchReq.ProtoReflect.Descriptor instead. func (*ParkourRaceMatchReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{12} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{16} } //匹配请求 @@ -650,7 +849,7 @@ type ParkourRaceMatchResp struct { func (x *ParkourRaceMatchResp) Reset() { *x = ParkourRaceMatchResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[13] + mi := &file_parkour_parkour_msg_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -663,7 +862,7 @@ func (x *ParkourRaceMatchResp) String() string { func (*ParkourRaceMatchResp) ProtoMessage() {} func (x *ParkourRaceMatchResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[13] + mi := &file_parkour_parkour_msg_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -676,7 +875,7 @@ func (x *ParkourRaceMatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceMatchResp.ProtoReflect.Descriptor instead. func (*ParkourRaceMatchResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{13} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{17} } //匹配成功 @@ -691,7 +890,7 @@ type ParkourRaceMatchSuccPush struct { func (x *ParkourRaceMatchSuccPush) Reset() { *x = ParkourRaceMatchSuccPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[14] + mi := &file_parkour_parkour_msg_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -704,7 +903,7 @@ func (x *ParkourRaceMatchSuccPush) String() string { func (*ParkourRaceMatchSuccPush) ProtoMessage() {} func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[14] + mi := &file_parkour_parkour_msg_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -717,7 +916,7 @@ func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceMatchSuccPush.ProtoReflect.Descriptor instead. func (*ParkourRaceMatchSuccPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{14} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18} } func (x *ParkourRaceMatchSuccPush) GetRace() *DBRace { @@ -739,7 +938,7 @@ type ParkourReadyReq struct { func (x *ParkourReadyReq) Reset() { *x = ParkourReadyReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[15] + mi := &file_parkour_parkour_msg_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -752,7 +951,7 @@ func (x *ParkourReadyReq) String() string { func (*ParkourReadyReq) ProtoMessage() {} func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[15] + mi := &file_parkour_parkour_msg_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -765,7 +964,7 @@ func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourReadyReq.ProtoReflect.Descriptor instead. func (*ParkourReadyReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{15} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19} } func (x *ParkourReadyReq) GetId() string { @@ -785,7 +984,7 @@ type ParkourReadyResp struct { func (x *ParkourReadyResp) Reset() { *x = ParkourReadyResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[16] + mi := &file_parkour_parkour_msg_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -798,7 +997,7 @@ func (x *ParkourReadyResp) String() string { func (*ParkourReadyResp) ProtoMessage() {} func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[16] + mi := &file_parkour_parkour_msg_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -811,7 +1010,7 @@ func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourReadyResp.ProtoReflect.Descriptor instead. func (*ParkourReadyResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{16} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20} } //竞速开始推送 @@ -826,7 +1025,7 @@ type ParkourRaceStartPush struct { func (x *ParkourRaceStartPush) Reset() { *x = ParkourRaceStartPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[17] + mi := &file_parkour_parkour_msg_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -839,7 +1038,7 @@ func (x *ParkourRaceStartPush) String() string { func (*ParkourRaceStartPush) ProtoMessage() {} func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[17] + mi := &file_parkour_parkour_msg_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -852,7 +1051,7 @@ func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceStartPush.ProtoReflect.Descriptor instead. func (*ParkourRaceStartPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{17} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21} } func (x *ParkourRaceStartPush) GetCountdown() int32 { @@ -874,7 +1073,7 @@ type ParkourShotReq struct { func (x *ParkourShotReq) Reset() { *x = ParkourShotReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[18] + mi := &file_parkour_parkour_msg_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -887,7 +1086,7 @@ func (x *ParkourShotReq) String() string { func (*ParkourShotReq) ProtoMessage() {} func (x *ParkourShotReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[18] + mi := &file_parkour_parkour_msg_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -900,7 +1099,7 @@ func (x *ParkourShotReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourShotReq.ProtoReflect.Descriptor instead. func (*ParkourShotReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22} } func (x *ParkourShotReq) GetId() string { @@ -920,7 +1119,7 @@ type ParkourShotResp struct { func (x *ParkourShotResp) Reset() { *x = ParkourShotResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[19] + mi := &file_parkour_parkour_msg_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -933,7 +1132,7 @@ func (x *ParkourShotResp) String() string { func (*ParkourShotResp) ProtoMessage() {} func (x *ParkourShotResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[19] + mi := &file_parkour_parkour_msg_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -946,7 +1145,7 @@ func (x *ParkourShotResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourShotResp.ProtoReflect.Descriptor instead. func (*ParkourShotResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23} } //躲避障碍请求 @@ -962,7 +1161,7 @@ type ParkourAvoidReq struct { func (x *ParkourAvoidReq) Reset() { *x = ParkourAvoidReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[20] + mi := &file_parkour_parkour_msg_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -975,7 +1174,7 @@ func (x *ParkourAvoidReq) String() string { func (*ParkourAvoidReq) ProtoMessage() {} func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[20] + mi := &file_parkour_parkour_msg_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -988,7 +1187,7 @@ func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAvoidReq.ProtoReflect.Descriptor instead. func (*ParkourAvoidReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24} } func (x *ParkourAvoidReq) GetId() string { @@ -1015,7 +1214,7 @@ type ParkourAvoidResp struct { func (x *ParkourAvoidResp) Reset() { *x = ParkourAvoidResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[21] + mi := &file_parkour_parkour_msg_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1028,7 +1227,7 @@ func (x *ParkourAvoidResp) String() string { func (*ParkourAvoidResp) ProtoMessage() {} func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[21] + mi := &file_parkour_parkour_msg_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1041,7 +1240,7 @@ func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAvoidResp.ProtoReflect.Descriptor instead. func (*ParkourAvoidResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25} } //全员冲刺 @@ -1054,7 +1253,7 @@ type ParkourAllSprintsPush struct { func (x *ParkourAllSprintsPush) Reset() { *x = ParkourAllSprintsPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[22] + mi := &file_parkour_parkour_msg_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1067,7 +1266,7 @@ func (x *ParkourAllSprintsPush) String() string { func (*ParkourAllSprintsPush) ProtoMessage() {} func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[22] + mi := &file_parkour_parkour_msg_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1080,7 +1279,7 @@ func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAllSprintsPush.ProtoReflect.Descriptor instead. func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26} } //比赛数值变化推送 @@ -1095,7 +1294,7 @@ type ParkourRaceChanagePush struct { func (x *ParkourRaceChanagePush) Reset() { *x = ParkourRaceChanagePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[23] + mi := &file_parkour_parkour_msg_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1108,7 +1307,7 @@ func (x *ParkourRaceChanagePush) String() string { func (*ParkourRaceChanagePush) ProtoMessage() {} func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[23] + mi := &file_parkour_parkour_msg_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1121,7 +1320,7 @@ func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceChanagePush.ProtoReflect.Descriptor instead. func (*ParkourRaceChanagePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27} } func (x *ParkourRaceChanagePush) GetRace() *DBRace { @@ -1143,7 +1342,7 @@ type ParkourRaceOverPush struct { func (x *ParkourRaceOverPush) Reset() { *x = ParkourRaceOverPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[24] + mi := &file_parkour_parkour_msg_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1156,7 +1355,7 @@ func (x *ParkourRaceOverPush) String() string { func (*ParkourRaceOverPush) ProtoMessage() {} func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[24] + mi := &file_parkour_parkour_msg_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1169,7 +1368,7 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead. func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} } func (x *ParkourRaceOverPush) GetRace() *DBRace { @@ -1192,7 +1391,7 @@ type RPCParkourJoinMatchReq struct { func (x *RPCParkourJoinMatchReq) Reset() { *x = RPCParkourJoinMatchReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[25] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1205,7 +1404,7 @@ func (x *RPCParkourJoinMatchReq) String() string { func (*RPCParkourJoinMatchReq) ProtoMessage() {} func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[25] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1218,7 +1417,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29} } func (x *RPCParkourJoinMatchReq) GetCaptainid() string { @@ -1245,7 +1444,7 @@ type RPCParkourJoinMatchResp struct { func (x *RPCParkourJoinMatchResp) Reset() { *x = RPCParkourJoinMatchResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[26] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1258,7 +1457,7 @@ func (x *RPCParkourJoinMatchResp) String() string { func (*RPCParkourJoinMatchResp) ProtoMessage() {} func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[26] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1271,7 +1470,7 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30} } ///匹配成功通知请求 @@ -1287,7 +1486,7 @@ type RPCParkourMatchSuccReq struct { func (x *RPCParkourMatchSuccReq) Reset() { *x = RPCParkourMatchSuccReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[27] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1300,7 +1499,7 @@ func (x *RPCParkourMatchSuccReq) String() string { func (*RPCParkourMatchSuccReq) ProtoMessage() {} func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[27] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1313,7 +1512,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} } func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember { @@ -1340,7 +1539,7 @@ type RPCParkourMatchSuccResp struct { func (x *RPCParkourMatchSuccResp) Reset() { *x = RPCParkourMatchSuccResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +1552,7 @@ func (x *RPCParkourMatchSuccResp) String() string { func (*RPCParkourMatchSuccResp) ProtoMessage() {} func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +1565,7 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} } var File_parkour_parkour_msg_proto protoreflect.FileDescriptor @@ -1375,96 +1574,110 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{ 0x0a, 0x19, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x62, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, - 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, - 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x24, - 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x5b, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x09, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, + 0x74, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, + 0x64, 0x22, 0x44, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x4d, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, - 0x63, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, - 0x6d, 0x22, 0x4f, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, - 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, 0x0a, 0x16, + 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, + 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x22, 0x24, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, + 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x63, 0x63, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x22, 0x4f, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, + 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, + 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, + 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, + 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, + 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, - 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, - 0x69, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x50, 0x61, - 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x32, 0x0a, - 0x12, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, - 0x64, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, - 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, - 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, - 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x19, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, - 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x44, - 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, - 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x37, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, - 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, - 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, 0x50, 0x61, - 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0x0a, - 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, - 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, - 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, - 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x32, 0x0a, - 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, - 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, - 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, - 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, - 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, - 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, - 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, + 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, + 0x32, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, + 0x6e, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, + 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, + 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, + 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, + 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, + 0x6d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, + 0x73, 0x68, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x37, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, + 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, + 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, + 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x17, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, + 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, + 0x32, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, + 0x61, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, + 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, + 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, + 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, + 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, + 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1479,59 +1692,65 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte { return file_parkour_parkour_msg_proto_rawDescData } -var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_parkour_parkour_msg_proto_goTypes = []interface{}{ - (*ParkourInfoChangePush)(nil), // 0: ParkourInfoChangePush - (*ParkourInviteReq)(nil), // 1: ParkourInviteReq - (*ParkourInviteResp)(nil), // 2: ParkourInviteResp - (*ParkourInviteNoticePush)(nil), // 3: ParkourInviteNoticePush - (*ParkourTeamChanagePush)(nil), // 4: ParkourTeamChanagePush - (*ParkourInviteHandleReq)(nil), // 5: ParkourInviteHandleReq - (*ParkourInviteHandleResp)(nil), // 6: ParkourInviteHandleResp - (*ParkourQuitTeamReq)(nil), // 7: ParkourQuitTeamReq - (*ParkourQuitTeamResp)(nil), // 8: ParkourQuitTeamResp - (*ParkourTeamJoinNoticePush)(nil), // 9: ParkourTeamJoinNoticePush - (*ParkourTeamQuitNoticePush)(nil), // 10: ParkourTeamQuitNoticePush - (*ParkourTeamDisbandNoticePush)(nil), // 11: ParkourTeamDisbandNoticePush - (*ParkourRaceMatchReq)(nil), // 12: ParkourRaceMatchReq - (*ParkourRaceMatchResp)(nil), // 13: ParkourRaceMatchResp - (*ParkourRaceMatchSuccPush)(nil), // 14: ParkourRaceMatchSuccPush - (*ParkourReadyReq)(nil), // 15: ParkourReadyReq - (*ParkourReadyResp)(nil), // 16: ParkourReadyResp - (*ParkourRaceStartPush)(nil), // 17: ParkourRaceStartPush - (*ParkourShotReq)(nil), // 18: ParkourShotReq - (*ParkourShotResp)(nil), // 19: ParkourShotResp - (*ParkourAvoidReq)(nil), // 20: ParkourAvoidReq - (*ParkourAvoidResp)(nil), // 21: ParkourAvoidResp - (*ParkourAllSprintsPush)(nil), // 22: ParkourAllSprintsPush - (*ParkourRaceChanagePush)(nil), // 23: ParkourRaceChanagePush - (*ParkourRaceOverPush)(nil), // 24: ParkourRaceOverPush - (*RPCParkourJoinMatchReq)(nil), // 25: RPCParkourJoinMatchReq - (*RPCParkourJoinMatchResp)(nil), // 26: RPCParkourJoinMatchResp - (*RPCParkourMatchSuccReq)(nil), // 27: RPCParkourMatchSuccReq - (*RPCParkourMatchSuccResp)(nil), // 28: RPCParkourMatchSuccResp - (*DBParkour)(nil), // 29: DBParkour - (*DBRaceMember)(nil), // 30: DBRaceMember - (*DBRace)(nil), // 31: DBRace + (*ParkourInfoReq)(nil), // 0: ParkourInfoReq + (*ParkourInfoResp)(nil), // 1: ParkourInfoResp + (*ParkourChangeMtsReq)(nil), // 2: ParkourChangeMtsReq + (*ParkourChangeMtsResp)(nil), // 3: ParkourChangeMtsResp + (*ParkourInfoChangePush)(nil), // 4: ParkourInfoChangePush + (*ParkourInviteReq)(nil), // 5: ParkourInviteReq + (*ParkourInviteResp)(nil), // 6: ParkourInviteResp + (*ParkourInviteNoticePush)(nil), // 7: ParkourInviteNoticePush + (*ParkourTeamChanagePush)(nil), // 8: ParkourTeamChanagePush + (*ParkourInviteHandleReq)(nil), // 9: ParkourInviteHandleReq + (*ParkourInviteHandleResp)(nil), // 10: ParkourInviteHandleResp + (*ParkourQuitTeamReq)(nil), // 11: ParkourQuitTeamReq + (*ParkourQuitTeamResp)(nil), // 12: ParkourQuitTeamResp + (*ParkourTeamJoinNoticePush)(nil), // 13: ParkourTeamJoinNoticePush + (*ParkourTeamQuitNoticePush)(nil), // 14: ParkourTeamQuitNoticePush + (*ParkourTeamDisbandNoticePush)(nil), // 15: ParkourTeamDisbandNoticePush + (*ParkourRaceMatchReq)(nil), // 16: ParkourRaceMatchReq + (*ParkourRaceMatchResp)(nil), // 17: ParkourRaceMatchResp + (*ParkourRaceMatchSuccPush)(nil), // 18: ParkourRaceMatchSuccPush + (*ParkourReadyReq)(nil), // 19: ParkourReadyReq + (*ParkourReadyResp)(nil), // 20: ParkourReadyResp + (*ParkourRaceStartPush)(nil), // 21: ParkourRaceStartPush + (*ParkourShotReq)(nil), // 22: ParkourShotReq + (*ParkourShotResp)(nil), // 23: ParkourShotResp + (*ParkourAvoidReq)(nil), // 24: ParkourAvoidReq + (*ParkourAvoidResp)(nil), // 25: ParkourAvoidResp + (*ParkourAllSprintsPush)(nil), // 26: ParkourAllSprintsPush + (*ParkourRaceChanagePush)(nil), // 27: ParkourRaceChanagePush + (*ParkourRaceOverPush)(nil), // 28: ParkourRaceOverPush + (*RPCParkourJoinMatchReq)(nil), // 29: RPCParkourJoinMatchReq + (*RPCParkourJoinMatchResp)(nil), // 30: RPCParkourJoinMatchResp + (*RPCParkourMatchSuccReq)(nil), // 31: RPCParkourMatchSuccReq + (*RPCParkourMatchSuccResp)(nil), // 32: RPCParkourMatchSuccResp + (*DBParkour)(nil), // 33: DBParkour + (*DBRaceMember)(nil), // 34: DBRaceMember + (*DBRace)(nil), // 35: DBRace } var file_parkour_parkour_msg_proto_depIdxs = []int32{ - 29, // 0: ParkourInfoChangePush.info:type_name -> DBParkour - 29, // 1: ParkourInviteResp.team:type_name -> DBParkour - 29, // 2: ParkourInviteNoticePush.team:type_name -> DBParkour - 29, // 3: ParkourTeamChanagePush.team:type_name -> DBParkour - 30, // 4: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember - 30, // 5: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember - 31, // 6: ParkourRaceMatchSuccPush.race:type_name -> DBRace - 31, // 7: ParkourRaceChanagePush.race:type_name -> DBRace - 31, // 8: ParkourRaceOverPush.race:type_name -> DBRace - 30, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember - 30, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember - 30, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 33, // 0: ParkourInfoResp.info:type_name -> DBParkour + 33, // 1: ParkourInfoResp.recommend:type_name -> DBParkour + 33, // 2: ParkourInfoChangePush.info:type_name -> DBParkour + 33, // 3: ParkourInviteResp.team:type_name -> DBParkour + 33, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour + 33, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour + 34, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember + 34, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember + 35, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace + 35, // 9: ParkourRaceChanagePush.race:type_name -> DBRace + 35, // 10: ParkourRaceOverPush.race:type_name -> DBRace + 34, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember + 34, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember + 34, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_parkour_parkour_msg_proto_init() } @@ -1542,7 +1761,7 @@ func file_parkour_parkour_msg_proto_init() { file_parkour_parkour_db_proto_init() if !protoimpl.UnsafeEnabled { file_parkour_parkour_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInfoChangePush); i { + switch v := v.(*ParkourInfoReq); i { case 0: return &v.state case 1: @@ -1554,7 +1773,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInviteReq); i { + switch v := v.(*ParkourInfoResp); i { case 0: return &v.state case 1: @@ -1566,7 +1785,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInviteResp); i { + switch v := v.(*ParkourChangeMtsReq); i { case 0: return &v.state case 1: @@ -1578,7 +1797,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInviteNoticePush); i { + switch v := v.(*ParkourChangeMtsResp); i { case 0: return &v.state case 1: @@ -1590,7 +1809,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourTeamChanagePush); i { + switch v := v.(*ParkourInfoChangePush); i { case 0: return &v.state case 1: @@ -1602,7 +1821,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInviteHandleReq); i { + switch v := v.(*ParkourInviteReq); i { case 0: return &v.state case 1: @@ -1614,7 +1833,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourInviteHandleResp); i { + switch v := v.(*ParkourInviteResp); i { case 0: return &v.state case 1: @@ -1626,7 +1845,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourQuitTeamReq); i { + switch v := v.(*ParkourInviteNoticePush); i { case 0: return &v.state case 1: @@ -1638,7 +1857,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourQuitTeamResp); i { + switch v := v.(*ParkourTeamChanagePush); i { case 0: return &v.state case 1: @@ -1650,7 +1869,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourTeamJoinNoticePush); i { + switch v := v.(*ParkourInviteHandleReq); i { case 0: return &v.state case 1: @@ -1662,7 +1881,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourTeamQuitNoticePush); i { + switch v := v.(*ParkourInviteHandleResp); i { case 0: return &v.state case 1: @@ -1674,7 +1893,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourTeamDisbandNoticePush); i { + switch v := v.(*ParkourQuitTeamReq); i { case 0: return &v.state case 1: @@ -1686,7 +1905,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceMatchReq); i { + switch v := v.(*ParkourQuitTeamResp); i { case 0: return &v.state case 1: @@ -1698,7 +1917,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceMatchResp); i { + switch v := v.(*ParkourTeamJoinNoticePush); i { case 0: return &v.state case 1: @@ -1710,7 +1929,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceMatchSuccPush); i { + switch v := v.(*ParkourTeamQuitNoticePush); i { case 0: return &v.state case 1: @@ -1722,7 +1941,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourReadyReq); i { + switch v := v.(*ParkourTeamDisbandNoticePush); i { case 0: return &v.state case 1: @@ -1734,7 +1953,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourReadyResp); i { + switch v := v.(*ParkourRaceMatchReq); i { case 0: return &v.state case 1: @@ -1746,7 +1965,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceStartPush); i { + switch v := v.(*ParkourRaceMatchResp); i { case 0: return &v.state case 1: @@ -1758,7 +1977,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourShotReq); i { + switch v := v.(*ParkourRaceMatchSuccPush); i { case 0: return &v.state case 1: @@ -1770,7 +1989,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourShotResp); i { + switch v := v.(*ParkourReadyReq); i { case 0: return &v.state case 1: @@ -1782,7 +2001,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAvoidReq); i { + switch v := v.(*ParkourReadyResp); i { case 0: return &v.state case 1: @@ -1794,7 +2013,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAvoidResp); i { + switch v := v.(*ParkourRaceStartPush); i { case 0: return &v.state case 1: @@ -1806,7 +2025,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAllSprintsPush); i { + switch v := v.(*ParkourShotReq); i { case 0: return &v.state case 1: @@ -1818,7 +2037,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceChanagePush); i { + switch v := v.(*ParkourShotResp); i { case 0: return &v.state case 1: @@ -1830,7 +2049,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceOverPush); i { + switch v := v.(*ParkourAvoidReq); i { case 0: return &v.state case 1: @@ -1842,7 +2061,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchReq); i { + switch v := v.(*ParkourAvoidResp); i { case 0: return &v.state case 1: @@ -1854,7 +2073,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchResp); i { + switch v := v.(*ParkourAllSprintsPush); i { case 0: return &v.state case 1: @@ -1866,7 +2085,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourMatchSuccReq); i { + switch v := v.(*ParkourRaceChanagePush); i { case 0: return &v.state case 1: @@ -1878,6 +2097,54 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParkourRaceOverPush); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourJoinMatchReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourJoinMatchResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourMatchSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RPCParkourMatchSuccResp); i { case 0: return &v.state @@ -1896,7 +2163,7 @@ func file_parkour_parkour_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_parkour_parkour_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 29, + NumMessages: 33, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/user_db.pb.go b/pb/user_db.pb.go index e89282ebf..10ca45045 100644 --- a/pb/user_db.pb.go +++ b/pb/user_db.pb.go @@ -131,6 +131,10 @@ type DBUser struct { Ps int32 `protobuf:"varint,25,opt,name=ps,proto3" json:"ps" bson:"ps"` //体力 LastRecoverPsSec int64 `protobuf:"varint,26,opt,name=lastRecoverPsSec,proto3" json:"lastRecoverPsSec" bson:"lastRecoverPsSec"` // 上次体会恢复时间 Moongold int32 `protobuf:"varint,27,opt,name=moongold,proto3" json:"moongold" bson:"moongold"` //纯净月髓 + Talent1 int32 `protobuf:"varint,28,opt,name=talent1,proto3" json:"talent1" bson:"talent1"` //阵营1天赋点 + Talent2 int32 `protobuf:"varint,29,opt,name=talent2,proto3" json:"talent2" bson:"talent2"` //阵营2天赋点 + Talent3 int32 `protobuf:"varint,30,opt,name=talent3,proto3" json:"talent3" bson:"talent3"` //阵营3天赋点 + Talent4 int32 `protobuf:"varint,31,opt,name=talent4,proto3" json:"talent4" bson:"talent4"` //阵营4天赋点 } func (x *DBUser) Reset() { @@ -354,6 +358,34 @@ func (x *DBUser) GetMoongold() int32 { return 0 } +func (x *DBUser) GetTalent1() int32 { + if x != nil { + return x.Talent1 + } + return 0 +} + +func (x *DBUser) GetTalent2() int32 { + if x != nil { + return x.Talent2 + } + return 0 +} + +func (x *DBUser) GetTalent3() int32 { + if x != nil { + return x.Talent3 + } + return 0 +} + +func (x *DBUser) GetTalent4() int32 { + if x != nil { + return x.Talent4 + } + return 0 +} + type DBUserSetting struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -614,7 +646,7 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x8a, + 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xf2, 0x05, 0x0a, 0x06, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 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, 0x12, 0x0a, 0x04, 0x75, @@ -655,40 +687,47 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x22, 0xc7, 0x02, 0x0a, 0x0d, - 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, - 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67, - 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62, - 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, - 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, - 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 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, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, - 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, + 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x34, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x34, 0x22, 0xc7, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12, + 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a, + 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c, + 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a, + 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, + 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, + 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a, + 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, + 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61, + 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75, + 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01, + 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 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, 0x1a, 0x0a, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75, + 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 14e7091594aa359350a480f17f1cda9d00236b51 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Wed, 19 Apr 2023 19:29:25 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E5=A3=B0=E6=9C=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/protocol.go | 19 + cmd/v2/ui/views/reputation.go | 24 + comm/const.go | 5 +- comm/imodule.go | 5 + modules/reputation/api.go | 20 + modules/reputation/api_getattrs.go | 33 + modules/reputation/api_upgrade.go | 67 +++ modules/reputation/configure.go | 69 +++ modules/reputation/model_reputation.go | 87 +++ modules/reputation/module.go | 113 ++++ modules/user/module.go | 41 ++ pb/errorcode.pb.go | 796 +++++++++++++------------ pb/reputation_db.pb.go | 419 +++++++++++++ pb/reputation_msg.pb.go | 330 ++++++++++ pb/user_db.pb.go | 109 ++-- pb/user_msg.pb.go | 298 +++++---- services/worker/main.go | 10 +- 17 files changed, 1889 insertions(+), 556 deletions(-) create mode 100644 cmd/v2/ui/views/reputation.go create mode 100644 modules/reputation/api.go create mode 100644 modules/reputation/api_getattrs.go create mode 100644 modules/reputation/api_upgrade.go create mode 100644 modules/reputation/configure.go create mode 100644 modules/reputation/model_reputation.go create mode 100644 modules/reputation/module.go create mode 100644 pb/reputation_db.pb.go create mode 100644 pb/reputation_msg.pb.go diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index f0542ac83..67b1fbb8f 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -124,6 +124,8 @@ var ( ff(comm.ModuleSmithy, "customer"): &formview.SmithyView{}, //武馆派遣 ff(comm.ModuleDispatch, "dispatch"): &formview.DispatchView{}, + //声望 + ff(comm.ModuleReputation, "reputation"): &formview.ReputationView{}, } ) @@ -153,6 +155,7 @@ var ( string(comm.ModuleReddot), string(comm.ModuleSmithy), string(comm.ModuleDispatch), + string(comm.ModuleReputation), }, "gm": {ff(comm.ModuleGM, "cmd")}, "sys": { @@ -257,6 +260,9 @@ var ( "dispatch": { ff(comm.ModuleDispatch, "dispatch"), }, + "reputation": { + ff(comm.ModuleReputation, "upgrade"), + }, } ) @@ -915,6 +921,19 @@ var ( SubType: "dispatch", Enabled: true, }, + // reputation + string(comm.ModuleReputation): { + NavLabel: "声望", + MainType: string(comm.ModuleReputation), + Enabled: true, + }, + ff(comm.ModuleReputation, "upgrade"): { + NavLabel: "天赋升级", + Desc: "天赋树升级", + MainType: string(comm.ModuleReputation), + SubType: "upgrade", + Enabled: true, + }, } ) diff --git a/cmd/v2/ui/views/reputation.go b/cmd/v2/ui/views/reputation.go new file mode 100644 index 000000000..094b5f64a --- /dev/null +++ b/cmd/v2/ui/views/reputation.go @@ -0,0 +1,24 @@ +package formview + +import ( + "go_dreamfactory/cmd/v2/model" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/widget" +) + +type ReputationView struct { + BaseformView +} + +func (d *ReputationView) CreateView(t *model.TestCase) fyne.CanvasObject { + upgradeBtn := widget.NewButton("天赋升级", func() { + + }) + + + topBtns := container.NewHBox(upgradeBtn) + c := container.NewBorder(topBtns, nil, nil, nil) + return c +} diff --git a/comm/const.go b/comm/const.go index bdd616a80..c24012d73 100644 --- a/comm/const.go +++ b/comm/const.go @@ -252,7 +252,6 @@ const ( TableParkourTeam = "parkourteam" ///捕羊大赛 匹配表 TableParkourMatch = "parkourmatch" - ) // RPC服务接口定义处 @@ -376,6 +375,10 @@ const ( ArenaCoin = "arenacoin" //竞技场币 ResPs = "ps" // 体力 Moongold = "moongold" //纯净月髓 + Talent1 = "talent1" //阵营1天赋点 + Talent2 = "talent2" //阵营2天赋点 + Talent3 = "talent3" //阵营3天赋点 + Talent4 = "talent4" //阵营4天赋点 ) const ( Gold int32 = 1 //金币 diff --git a/comm/imodule.go b/comm/imodule.go index 662fa508c..bb60dcf0e 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -460,4 +460,9 @@ type ( GetGlobalConf() *cfg.GameGlobalData GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn) } + + IReputation interface { + // 声望升级 返回声望等级 + Upgrade(session IUserSession, raceType int32, fv int32) (lv int32) + } ) diff --git a/modules/reputation/api.go b/modules/reputation/api.go new file mode 100644 index 000000000..2fb9d966d --- /dev/null +++ b/modules/reputation/api.go @@ -0,0 +1,20 @@ +package reputation + +import ( + "go_dreamfactory/lego/base" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +type apiComp struct { + modules.MCompGate + service base.IRPCXService + module *Reputation +} + +func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + _ = this.MCompGate.Init(service, module, comp, options) + this.service = service.(base.IRPCXService) + this.module = module.(*Reputation) + return +} diff --git a/modules/reputation/api_getattrs.go b/modules/reputation/api_getattrs.go new file mode 100644 index 000000000..106c80125 --- /dev/null +++ b/modules/reputation/api_getattrs.go @@ -0,0 +1,33 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +// 获取阵营天赋属性 +func (this *apiComp) GetattrsCheck(session comm.IUserSession, req *pb.ReputationTalentReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Getattrs(session comm.IUserSession, req *pb.ReputationTalentReq) (code pb.ErrorCode, data *pb.ErrorData) { + + uid := session.GetUserId() + rsp := &pb.ReputationTalentResp{} + + reputation := this.module.modelReputation.getDBReputation(uid) + if reputation == nil { + code = pb.ErrorCode_DataNotFound + return + } + + for _, v := range reputation.Camps { + rsp.Camp = v + } + + rsp.AttrGlobal = this.module.modelReputation.mergeAttrs(reputation.Camps) + + session.SendMsg(string(this.module.GetType()), "getattrs", rsp) + + return +} diff --git a/modules/reputation/api_upgrade.go b/modules/reputation/api_upgrade.go new file mode 100644 index 000000000..4255f1874 --- /dev/null +++ b/modules/reputation/api_upgrade.go @@ -0,0 +1,67 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" +) + +// 天赋树升级 +func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.ReputationUpgradeReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.ReputationUpgradeReq) (code pb.ErrorCode, data *pb.ErrorData) { + // + uid := session.GetUserId() + rsp := &pb.ReputationUpgradeResp{} + + talentCfg := this.module.configure.getTalentNodeCfg(req.NodeId) + if talentCfg == nil { + code = pb.ErrorCode_ConfigNoFound + return + } + + reputation := this.module.modelReputation.getDBReputation(uid) + if reputation == nil { + code = pb.ErrorCode_DataNotFound + return + } + + camp, ok := reputation.Camps[talentCfg.Type] + if !ok { + code = pb.ErrorCode_DataNotFound + this.module.Debug("未找到阵营数据", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "raceType", Value: talentCfg.Type}) + return + } + + if camp != nil { + for _, v := range camp.Nodes { + //判断是否满级 + if req.NodeId == v.Nid && v.Status == 2 { + code = pb.ErrorCode_ReputationTalentFull + return + } else if req.NodeId == v.Nid { + //消耗 + if c := this.module.ConsumeRes(session, talentCfg.IconCos, true); c == pb.ErrorCode_Success { + v.Status = 1 + camp.CampAttr = this.module.modelReputation.computeAttr(camp.CampAttr, talentCfg.Attribute) + update := map[string]interface{}{ + "camps": reputation.Camps, + } + this.module.modelReputation.updateDBReputation(uid, update) + } else { + code = pb.ErrorCode_ResNoEnough + return + } + break + } + } + } + + session.SendMsg(string(this.module.GetType()), "upgrade", rsp) + + return +} diff --git a/modules/reputation/configure.go b/modules/reputation/configure.go new file mode 100644 index 000000000..9daf6f6d4 --- /dev/null +++ b/modules/reputation/configure.go @@ -0,0 +1,69 @@ +package reputation + +import ( + "fmt" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" + cfg "go_dreamfactory/sys/configure/structs" +) + +const ( + gameTalent = "game_talent.json" + gameCampLv = "game_camplv.json" +) + +type configureComp struct { + modules.MCompConfigure +} + +func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.MCompConfigure.Init(service, module, comp, options) + err = this.LoadMultiConfigure(map[string]interface{}{ + gameTalent: cfg.NewGameTalent, + gameCampLv: cfg.NewGameCampLv, + }) + return +} + +// 天赋树配置 +func (this *configureComp) getTalentCfg() (data *cfg.GameTalent, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(gameTalent); err != nil { + return + } else { + if data, ok = v.(*cfg.GameTalent); !ok { + err = fmt.Errorf("%T is *cfg.GameTalent", v) + return + } + } + return +} + +func (this *configureComp) getTalentNodeCfg(id int32) (data *cfg.GameTalentData) { + gt, err := this.getTalentCfg() + if err != nil { + return + } + + data, _ = gt.GetDataMap()[id] + return +} + +func (this *configureComp) getCampLvCfg() (data *cfg.GameCampLv, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(gameCampLv); err != nil { + return + } else { + if data, ok = v.(*cfg.GameCampLv); !ok { + err = fmt.Errorf("%T is *cfg.GameCampLv", v) + return + } + } + return +} diff --git a/modules/reputation/model_reputation.go b/modules/reputation/model_reputation.go new file mode 100644 index 000000000..f63ff3f32 --- /dev/null +++ b/modules/reputation/model_reputation.go @@ -0,0 +1,87 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + + "go.mongodb.org/mongo-driver/mongo" +) + +type ModelReputation struct { + modules.MCompModel + moduleReputation *Reputation + service core.IService +} + +func (this *ModelReputation) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.MCompModel.Init(service, module, comp, options) + this.TableName = comm.TableReputation + this.moduleReputation = module.(*Reputation) + this.service = service + return +} + +// 获取玩家声望数据 +func (this *ModelReputation) getDBReputation(uid string) *pb.DBReputation { + reputation := &pb.DBReputation{} + if err := this.Get(uid, reputation); err != nil { + if err == mongo.ErrNoDocuments { + reputation.Uid = uid + reputation.Camps = make(map[int32]*pb.Camp) + if err2 := this.Add(uid, reputation); err2 == nil { + return reputation + } + } + this.moduleReputation.Error("getDBReputation", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "err", Value: err}) + } + return reputation +} + +// 更新声望数据 +func (this *ModelReputation) updateDBReputation(uid string, data map[string]interface{}) { + if err := this.Change(uid, data); err != nil { + this.moduleReputation.Error("updateDBReputation", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "err", Value: err}) + } +} + +// 阵营属性 +func (this *ModelReputation) computeAttr(attr *pb.CampAttr, cfgs []*cfg.Gameatr) *pb.CampAttr { + if attr == nil { + attr = &pb.CampAttr{} + } + for _, v := range cfgs { + switch v.A { + case comm.Hp: + attr.Hp += v.N + case comm.Atk: + attr.Attack += v.N + case comm.Def: + attr.Defense += v.N + case comm.HpPro: + attr.HpPer += v.N + } + } + return attr +} + +// 合计所有阵营的属性 +func (this *ModelReputation) mergeAttrs(camps map[int32]*pb.Camp) *pb.CampAttr { + totalAttr := &pb.CampAttr{} + for _, v := range camps { + if v.CampAttr != nil { + totalAttr.Hp += v.CampAttr.Hp + totalAttr.Attack += v.CampAttr.Attack + totalAttr.Defense += v.CampAttr.Defense + totalAttr.HpPer += v.CampAttr.HpPer + } + } + return totalAttr +} diff --git a/modules/reputation/module.go b/modules/reputation/module.go new file mode 100644 index 000000000..32eee42a6 --- /dev/null +++ b/modules/reputation/module.go @@ -0,0 +1,113 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/base" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/modules" + cfg "go_dreamfactory/sys/configure/structs" +) + +var _ comm.IReputation = (*Reputation)(nil) + +type Reputation struct { + modules.ModuleBase + api *apiComp + service base.IRPCXService + configure *configureComp + modelReputation *ModelReputation +} + +func NewModule() core.IModule { + return &Reputation{} +} + +func (this *Reputation) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { + err = this.ModuleBase.Init(service, module, options) + this.service = service.(base.IRPCXService) + return +} + +func (this *Reputation) OnInstallComp() { + this.ModuleBase.OnInstallComp() + this.api = this.RegisterComp(new(apiComp)).(*apiComp) + this.configure = this.RegisterComp(new(configureComp)).(*configureComp) + this.modelReputation = this.RegisterComp(new(ModelReputation)).(*ModelReputation) +} + +func (this *Reputation) GetType() core.M_Modules { + return comm.ModuleReputation +} + +func (this *Reputation) Start() (err error) { + err = this.ModuleBase.Start() + + return +} + +// 获取阵营最大等级 +// raceType 阵营类型 +func (this *Reputation) getCampLvMax(raceType int32) (maxLv int32) { + campLvConf, err := this.configure.getCampLvCfg() + if err != nil { + return + } + arr := campLvConf.GetDataList() + n := len(arr) + if n > 0 { + maxLv = arr[n-1].ReputationLv + } else { + maxLv = -1 + } + return +} + +// 声望升级 +// raceType 阵营 fv 阵营好感度累计值 +func (this *Reputation) Upgrade(session comm.IUserSession, raceType int32, fv int32) (lv int32) { + uid := session.GetUserId() + reputation := this.modelReputation.getDBReputation(uid) + if reputation == nil { + return + } + + c, ok := reputation.Camps[raceType] + if !ok { + this.Error("阵营不存在", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "raceType", Value: raceType}) + return + } + + maxLv := this.getCampLvMax(raceType) + + if c.ReputationLv == maxLv { + this.Debug("已达到声望最大等级", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "maxLv", Value: c.ReputationLv}) + return c.ReputationLv + } + + campLvConf, err := this.configure.getCampLvCfg() + if err != nil { + return + } + + for _, conf := range campLvConf.GetDataList() { + if conf.RaceType == raceType && conf.ReputationLv == c.ReputationLv { + if fv >= conf.ReputationExp { + //更新等级 + c.ReputationLv = c.ReputationLv + 1 + update := map[string]interface{}{ + "camps": reputation.Camps, + } + this.modelReputation.updateDBReputation(uid, update) + //发放天赋点奖励 + this.DispenseRes(session, []*cfg.Gameatn{conf.Reward}, false) + break + } + } + } + return +} diff --git a/modules/user/module.go b/modules/user/module.go index c920bcac8..33eb6e04c 100644 --- a/modules/user/module.go +++ b/modules/user/module.go @@ -353,6 +353,14 @@ func (this *User) QueryAttributeValue(uid string, attr string) (value int64) { return int64(userEx.FriendPoint) case comm.Moongold: return int64(user.Moongold) + case comm.Talent1: + return int64(user.Talent1) + case comm.Talent2: + return int64(user.Talent2) + case comm.Talent3: + return int64(user.Talent3) + case comm.Talent4: + return int64(user.Talent4) } return } @@ -488,6 +496,38 @@ func (this *User) change(session comm.IUserSession, attr string, add int32) (cha return } change.Ps += add + case comm.Talent1: + if add < 0 { + if user.Talent1+add < 0 { + code = pb.ErrorCode_UserTalent1NoEnough + return + } + } + change.Talent1 += add + case comm.Talent2: + if add < 0 { + if user.Talent2+add < 0 { + code = pb.ErrorCode_UserTalent2NoEnough + return + } + } + change.Talent2 += add + case comm.Talent3: + if add < 0 { + if user.Talent3+add < 0 { + code = pb.ErrorCode_UserTalent3NoEnough + return + } + } + change.Talent3 += add + case comm.Talent4: + if add < 0 { + if user.Talent4+add < 0 { + code = pb.ErrorCode_UserTalent4NoEnough + return + } + } + change.Talent4 += add default: err = errors.New(fmt.Sprintf("%s no supported", attr)) return @@ -502,6 +542,7 @@ func (this *User) change(session comm.IUserSession, attr string, add int32) (cha comm.StarCoin: change.Starcoin, comm.ResPs: change.Ps, comm.Moongold: change.Moongold, + comm.Talent1: change.Talent1, } //user ex diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 705762dfd..d3227cf8c 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -77,6 +77,10 @@ const ( ErrorCode_UserSign ErrorCode = 1022 //签到状态不对 ErrorCode_OpenCondErr ErrorCode = 1023 //功能开启条件未达到 ErrorCode_OpenCondActivate ErrorCode = 1024 //功能开启条件已激活 + ErrorCode_UserTalent1NoEnough ErrorCode = 1025 //阵营1天赋点 + ErrorCode_UserTalent2NoEnough ErrorCode = 1026 //阵营2天赋点 + ErrorCode_UserTalent3NoEnough ErrorCode = 1027 //阵营3天赋点 + ErrorCode_UserTalent4NoEnough ErrorCode = 1028 //阵营4天赋点 // friend ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己 ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量 @@ -367,6 +371,8 @@ const ( //parkour ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满 ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期 + //reputation + ErrorCode_ReputationTalentFull ErrorCode = 4501 //天赋满级了 ) // Enum value maps for ErrorCode. @@ -424,6 +430,10 @@ var ( 1022: "UserSign", 1023: "OpenCondErr", 1024: "OpenCondActivate", + 1025: "UserTalent1NoEnough", + 1026: "UserTalent2NoEnough", + 1027: "UserTalent3NoEnough", + 1028: "UserTalent4NoEnough", 1100: "FriendNotSelf", 1101: "FriendSelfMax", 1102: "FriendTargetMax", @@ -681,6 +691,7 @@ var ( 4306: "PracticeTargetQiecuoing", 4401: "ParkourMemberFull", 4402: "ParkourInviteOverdue", + 4501: "ReputationTalentFull", } ErrorCode_value = map[string]int32{ "Success": 0, @@ -735,6 +746,10 @@ var ( "UserSign": 1022, "OpenCondErr": 1023, "OpenCondActivate": 1024, + "UserTalent1NoEnough": 1025, + "UserTalent2NoEnough": 1026, + "UserTalent3NoEnough": 1027, + "UserTalent4NoEnough": 1028, "FriendNotSelf": 1100, "FriendSelfMax": 1101, "FriendTargetMax": 1102, @@ -992,6 +1007,7 @@ var ( "PracticeTargetQiecuoing": 4306, "ParkourMemberFull": 4401, "ParkourInviteOverdue": 4402, + "ReputationTalentFull": 4501, } ) @@ -1026,7 +1042,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, 0xa8, 0x38, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xab, 0x39, 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, @@ -1092,392 +1108,400 @@ var file_errorcode_proto_rawDesc = []byte{ 0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x10, 0xff, 0x07, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, - 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, - 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, - 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, - 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, - 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, - 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, - 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, - 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, - 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, - 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, - 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, - 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, - 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, - 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, - 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, - 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, - 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, - 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, - 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, - 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, - 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, - 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, - 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, - 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, - 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, - 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, - 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, - 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, - 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, - 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, - 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, - 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, - 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, - 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, - 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, - 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, - 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, - 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, - 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, - 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, - 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, - 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, - 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, - 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, - 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, - 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, - 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, - 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, - 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, - 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, - 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, - 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, - 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, - 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, - 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, - 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, - 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, - 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, - 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, - 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, - 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, - 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, - 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, - 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, - 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, - 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, - 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, - 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, - 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, - 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, - 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, - 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, - 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, - 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, - 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, - 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, - 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, - 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, - 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, - 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, - 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, - 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, - 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, + 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x31, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x81, 0x08, 0x12, + 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x4e, 0x6f, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x82, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, + 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0x83, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x34, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x84, 0x08, 0x12, 0x12, 0x0a, + 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, + 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, + 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, + 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, + 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, + 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, + 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, + 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, + 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, + 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, + 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, + 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, + 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, + 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, + 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, + 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, + 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, + 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, + 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, + 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, + 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, + 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, + 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, + 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, + 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, + 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, + 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, + 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, + 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, + 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, + 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, + 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, + 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, + 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, + 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, + 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, + 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, + 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, + 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, + 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, + 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, + 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, + 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, + 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, + 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, + 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, + 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, + 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, + 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, + 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, + 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, + 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, + 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, + 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, + 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, + 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, + 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, + 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, + 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, + 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, + 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, + 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, + 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, + 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, + 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, + 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, + 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, + 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, + 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, + 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, + 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, + 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, + 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, + 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, + 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, + 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, + 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, + 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, + 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, + 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, + 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, + 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, + 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, + 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, + 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, + 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, + 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, + 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, + 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, + 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, + 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, + 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, + 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, - 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, - 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, - 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, - 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, - 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, - 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, - 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, - 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, - 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, - 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, - 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, - 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, - 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, - 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, - 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, - 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, - 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, - 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, - 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, - 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, - 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, - 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, - 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, - 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, - 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, - 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, - 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, - 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, - 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, - 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, - 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, - 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, - 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, - 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, - 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, - 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, - 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, - 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, - 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, - 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, - 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, - 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, - 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, - 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, - 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, - 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, - 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, - 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, - 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, - 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, - 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, - 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, - 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, - 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, - 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, - 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, - 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, - 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, - 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, - 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, - 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, - 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 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, 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, 0x42, 0x06, 0x5a, 0x04, - 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, + 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, + 0x45, 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, + 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, + 0x73, 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, + 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, + 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x10, 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, + 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, + 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, + 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, + 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, + 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, + 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, + 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, + 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, + 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, + 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, + 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, + 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, + 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, + 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, + 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, + 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, + 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, + 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, + 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, + 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, + 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, + 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, + 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, + 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, + 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, + 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, + 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, + 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, + 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, + 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, + 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, + 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, + 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, + 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, + 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, + 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, + 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, + 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, + 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, + 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0xe9, 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, 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, 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, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/reputation_db.pb.go b/pb/reputation_db.pb.go new file mode 100644 index 000000000..ef4a6bf4c --- /dev/null +++ b/pb/reputation_db.pb.go @@ -0,0 +1,419 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: reputation/reputation_db.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DBReputation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //玩家ID + Camps map[int32]*Camp `protobuf:"bytes,2,rep,name=camps,proto3" json:"camps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"camps"` //key 阵营id +} + +func (x *DBReputation) Reset() { + *x = DBReputation{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_db_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBReputation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBReputation) ProtoMessage() {} + +func (x *DBReputation) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_db_proto_msgTypes[0] + 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 DBReputation.ProtoReflect.Descriptor instead. +func (*DBReputation) Descriptor() ([]byte, []int) { + return file_reputation_reputation_db_proto_rawDescGZIP(), []int{0} +} + +func (x *DBReputation) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBReputation) GetCamps() map[int32]*Camp { + if x != nil { + return x.Camps + } + return nil +} + +// 阵营 +type Camp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReputationLv int32 `protobuf:"varint,1,opt,name=reputationLv,proto3" json:"reputationLv" bson:"reputationLv"` //声望等级 + CampAttr *CampAttr `protobuf:"bytes,2,opt,name=campAttr,proto3" json:"campAttr" bson:"campAttr"` // + Nodes []*TalentNode `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes" bson:"nodes"` //天赋节点 +} + +func (x *Camp) Reset() { + *x = Camp{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Camp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Camp) ProtoMessage() {} + +func (x *Camp) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_db_proto_msgTypes[1] + 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 Camp.ProtoReflect.Descriptor instead. +func (*Camp) Descriptor() ([]byte, []int) { + return file_reputation_reputation_db_proto_rawDescGZIP(), []int{1} +} + +func (x *Camp) GetReputationLv() int32 { + if x != nil { + return x.ReputationLv + } + return 0 +} + +func (x *Camp) GetCampAttr() *CampAttr { + if x != nil { + return x.CampAttr + } + return nil +} + +func (x *Camp) GetNodes() []*TalentNode { + if x != nil { + return x.Nodes + } + return nil +} + +// 阵营声望属性 +type CampAttr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hp int32 `protobuf:"varint,1,opt,name=hp,proto3" json:"hp"` + Attack int32 `protobuf:"varint,2,opt,name=attack,proto3" json:"attack"` + Defense int32 `protobuf:"varint,3,opt,name=defense,proto3" json:"defense"` + HpPer int32 `protobuf:"varint,4,opt,name=hpPer,proto3" json:"hpPer"` +} + +func (x *CampAttr) Reset() { + *x = CampAttr{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CampAttr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampAttr) ProtoMessage() {} + +func (x *CampAttr) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_db_proto_msgTypes[2] + 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 CampAttr.ProtoReflect.Descriptor instead. +func (*CampAttr) Descriptor() ([]byte, []int) { + return file_reputation_reputation_db_proto_rawDescGZIP(), []int{2} +} + +func (x *CampAttr) GetHp() int32 { + if x != nil { + return x.Hp + } + return 0 +} + +func (x *CampAttr) GetAttack() int32 { + if x != nil { + return x.Attack + } + return 0 +} + +func (x *CampAttr) GetDefense() int32 { + if x != nil { + return x.Defense + } + return 0 +} + +func (x *CampAttr) GetHpPer() int32 { + if x != nil { + return x.HpPer + } + return 0 +} + +// 天赋节点 +type TalentNode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nid int32 `protobuf:"varint,1,opt,name=nid,proto3" json:"nid" bson:"nid"` //节点ID + Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv" bson:"lv"` //天赋节点等级 + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status" bson:"status"` // 状态 0未升级 1未满级 2满级 +} + +func (x *TalentNode) Reset() { + *x = TalentNode{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_db_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TalentNode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TalentNode) ProtoMessage() {} + +func (x *TalentNode) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_db_proto_msgTypes[3] + 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 TalentNode.ProtoReflect.Descriptor instead. +func (*TalentNode) Descriptor() ([]byte, []int) { + return file_reputation_reputation_db_proto_rawDescGZIP(), []int{3} +} + +func (x *TalentNode) GetNid() int32 { + if x != nil { + return x.Nid + } + return 0 +} + +func (x *TalentNode) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +func (x *TalentNode) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +var File_reputation_reputation_db_proto protoreflect.FileDescriptor + +var file_reputation_reputation_db_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x91, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x61, + 0x6d, 0x70, 0x73, 0x1a, 0x3f, 0x0a, 0x0a, 0x43, 0x61, 0x6d, 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, 0x1b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x74, 0x0a, 0x04, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x76, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x76, + 0x12, 0x25, 0x0a, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x63, + 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x08, 0x43, 0x61, + 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x70, 0x50, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x70, 0x50, 0x65, 0x72, 0x22, 0x46, + 0x0a, 0x0a, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x69, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_reputation_reputation_db_proto_rawDescOnce sync.Once + file_reputation_reputation_db_proto_rawDescData = file_reputation_reputation_db_proto_rawDesc +) + +func file_reputation_reputation_db_proto_rawDescGZIP() []byte { + file_reputation_reputation_db_proto_rawDescOnce.Do(func() { + file_reputation_reputation_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_reputation_reputation_db_proto_rawDescData) + }) + return file_reputation_reputation_db_proto_rawDescData +} + +var file_reputation_reputation_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_reputation_reputation_db_proto_goTypes = []interface{}{ + (*DBReputation)(nil), // 0: DBReputation + (*Camp)(nil), // 1: Camp + (*CampAttr)(nil), // 2: CampAttr + (*TalentNode)(nil), // 3: TalentNode + nil, // 4: DBReputation.CampsEntry +} +var file_reputation_reputation_db_proto_depIdxs = []int32{ + 4, // 0: DBReputation.camps:type_name -> DBReputation.CampsEntry + 2, // 1: Camp.campAttr:type_name -> CampAttr + 3, // 2: Camp.nodes:type_name -> TalentNode + 1, // 3: DBReputation.CampsEntry.value:type_name -> Camp + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_reputation_reputation_db_proto_init() } +func file_reputation_reputation_db_proto_init() { + if File_reputation_reputation_db_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_reputation_reputation_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBReputation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Camp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CampAttr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TalentNode); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_reputation_reputation_db_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_reputation_reputation_db_proto_goTypes, + DependencyIndexes: file_reputation_reputation_db_proto_depIdxs, + MessageInfos: file_reputation_reputation_db_proto_msgTypes, + }.Build() + File_reputation_reputation_db_proto = out.File + file_reputation_reputation_db_proto_rawDesc = nil + file_reputation_reputation_db_proto_goTypes = nil + file_reputation_reputation_db_proto_depIdxs = nil +} diff --git a/pb/reputation_msg.pb.go b/pb/reputation_msg.pb.go new file mode 100644 index 000000000..e8a1c3c4c --- /dev/null +++ b/pb/reputation_msg.pb.go @@ -0,0 +1,330 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: reputation/reputation_msg.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +//天赋树升级 +type ReputationUpgradeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId int32 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId"` //节点ID +} + +func (x *ReputationUpgradeReq) Reset() { + *x = ReputationUpgradeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationUpgradeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationUpgradeReq) ProtoMessage() {} + +func (x *ReputationUpgradeReq) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[0] + 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 ReputationUpgradeReq.ProtoReflect.Descriptor instead. +func (*ReputationUpgradeReq) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{0} +} + +func (x *ReputationUpgradeReq) GetNodeId() int32 { + if x != nil { + return x.NodeId + } + return 0 +} + +type ReputationUpgradeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReputationUpgradeResp) Reset() { + *x = ReputationUpgradeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationUpgradeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationUpgradeResp) ProtoMessage() {} + +func (x *ReputationUpgradeResp) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[1] + 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 ReputationUpgradeResp.ProtoReflect.Descriptor instead. +func (*ReputationUpgradeResp) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{1} +} + +//获取天赋树节点 +type ReputationTalentReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReputationTalentReq) Reset() { + *x = ReputationTalentReq{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalentReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalentReq) ProtoMessage() {} + +func (x *ReputationTalentReq) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[2] + 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 ReputationTalentReq.ProtoReflect.Descriptor instead. +func (*ReputationTalentReq) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{2} +} + +type ReputationTalentResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttrGlobal *CampAttr `protobuf:"bytes,1,opt,name=attrGlobal,proto3" json:"attrGlobal"` + Camp *Camp `protobuf:"bytes,2,opt,name=camp,proto3" json:"camp"` +} + +func (x *ReputationTalentResp) Reset() { + *x = ReputationTalentResp{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalentResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalentResp) ProtoMessage() {} + +func (x *ReputationTalentResp) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[3] + 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 ReputationTalentResp.ProtoReflect.Descriptor instead. +func (*ReputationTalentResp) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *ReputationTalentResp) GetAttrGlobal() *CampAttr { + if x != nil { + return x.AttrGlobal + } + return nil +} + +func (x *ReputationTalentResp) GetCamp() *Camp { + if x != nil { + return x.Camp + } + return nil +} + +var File_reputation_reputation_msg_proto protoreflect.FileDescriptor + +var file_reputation_reputation_msg_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, 0x70, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x2e, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x22, 0x17, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x15, 0x0a, 0x13, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x22, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_reputation_reputation_msg_proto_rawDescOnce sync.Once + file_reputation_reputation_msg_proto_rawDescData = file_reputation_reputation_msg_proto_rawDesc +) + +func file_reputation_reputation_msg_proto_rawDescGZIP() []byte { + file_reputation_reputation_msg_proto_rawDescOnce.Do(func() { + file_reputation_reputation_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_reputation_reputation_msg_proto_rawDescData) + }) + return file_reputation_reputation_msg_proto_rawDescData +} + +var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_reputation_reputation_msg_proto_goTypes = []interface{}{ + (*ReputationUpgradeReq)(nil), // 0: reputationUpgradeReq + (*ReputationUpgradeResp)(nil), // 1: reputationUpgradeResp + (*ReputationTalentReq)(nil), // 2: reputationTalentReq + (*ReputationTalentResp)(nil), // 3: reputationTalentResp + (*CampAttr)(nil), // 4: CampAttr + (*Camp)(nil), // 5: Camp +} +var file_reputation_reputation_msg_proto_depIdxs = []int32{ + 4, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr + 5, // 1: reputationTalentResp.camp:type_name -> Camp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_reputation_reputation_msg_proto_init() } +func file_reputation_reputation_msg_proto_init() { + if File_reputation_reputation_msg_proto != nil { + return + } + file_reputation_reputation_db_proto_init() + if !protoimpl.UnsafeEnabled { + file_reputation_reputation_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationUpgradeReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationUpgradeResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationTalentReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationTalentResp); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_reputation_reputation_msg_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_reputation_reputation_msg_proto_goTypes, + DependencyIndexes: file_reputation_reputation_msg_proto_depIdxs, + MessageInfos: file_reputation_reputation_msg_proto_msgTypes, + }.Build() + File_reputation_reputation_msg_proto = out.File + file_reputation_reputation_msg_proto_rawDesc = nil + file_reputation_reputation_msg_proto_goTypes = nil + file_reputation_reputation_msg_proto_depIdxs = nil +} diff --git a/pb/user_db.pb.go b/pb/user_db.pb.go index e89282ebf..10ca45045 100644 --- a/pb/user_db.pb.go +++ b/pb/user_db.pb.go @@ -131,6 +131,10 @@ type DBUser struct { Ps int32 `protobuf:"varint,25,opt,name=ps,proto3" json:"ps" bson:"ps"` //体力 LastRecoverPsSec int64 `protobuf:"varint,26,opt,name=lastRecoverPsSec,proto3" json:"lastRecoverPsSec" bson:"lastRecoverPsSec"` // 上次体会恢复时间 Moongold int32 `protobuf:"varint,27,opt,name=moongold,proto3" json:"moongold" bson:"moongold"` //纯净月髓 + Talent1 int32 `protobuf:"varint,28,opt,name=talent1,proto3" json:"talent1" bson:"talent1"` //阵营1天赋点 + Talent2 int32 `protobuf:"varint,29,opt,name=talent2,proto3" json:"talent2" bson:"talent2"` //阵营2天赋点 + Talent3 int32 `protobuf:"varint,30,opt,name=talent3,proto3" json:"talent3" bson:"talent3"` //阵营3天赋点 + Talent4 int32 `protobuf:"varint,31,opt,name=talent4,proto3" json:"talent4" bson:"talent4"` //阵营4天赋点 } func (x *DBUser) Reset() { @@ -354,6 +358,34 @@ func (x *DBUser) GetMoongold() int32 { return 0 } +func (x *DBUser) GetTalent1() int32 { + if x != nil { + return x.Talent1 + } + return 0 +} + +func (x *DBUser) GetTalent2() int32 { + if x != nil { + return x.Talent2 + } + return 0 +} + +func (x *DBUser) GetTalent3() int32 { + if x != nil { + return x.Talent3 + } + return 0 +} + +func (x *DBUser) GetTalent4() int32 { + if x != nil { + return x.Talent4 + } + return 0 +} + type DBUserSetting struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -614,7 +646,7 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x8a, + 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xf2, 0x05, 0x0a, 0x06, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 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, 0x12, 0x0a, 0x04, 0x75, @@ -655,40 +687,47 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x22, 0xc7, 0x02, 0x0a, 0x0d, - 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, - 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67, - 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62, - 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, - 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, - 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 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, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, - 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, + 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x34, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x34, 0x22, 0xc7, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12, + 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a, + 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c, + 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a, + 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, + 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, + 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a, + 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, + 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61, + 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75, + 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01, + 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 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, 0x1a, 0x0a, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75, + 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/user_msg.pb.go b/pb/user_msg.pb.go index 380bfc9b2..506164042 100644 --- a/pb/user_msg.pb.go +++ b/pb/user_msg.pb.go @@ -595,6 +595,10 @@ type UserResChangedPush struct { Arenacoin int32 `protobuf:"varint,8,opt,name=arenacoin,proto3" json:"arenacoin" bson:"arenacoin"` //竞技场币 Ps int32 `protobuf:"varint,9,opt,name=ps,proto3" json:"ps" bson:"ps"` //体力 Moongold int32 `protobuf:"varint,10,opt,name=moongold,proto3" json:"moongold" bson:"moongold"` //纯净月髓 + Talent1 int32 `protobuf:"varint,11,opt,name=talent1,proto3" json:"talent1" bson:"talent1"` //阵营1天赋点 + Talent2 int32 `protobuf:"varint,12,opt,name=talent2,proto3" json:"talent2" bson:"talent2"` //阵营2天赋点 + Talent3 int32 `protobuf:"varint,13,opt,name=talent3,proto3" json:"talent3" bson:"talent3"` //阵营3天赋点 + Talent4 int32 `protobuf:"varint,14,opt,name=talent4,proto3" json:"talent4" bson:"talent4"` //阵营4天赋点 } func (x *UserResChangedPush) Reset() { @@ -699,6 +703,34 @@ func (x *UserResChangedPush) GetMoongold() int32 { return 0 } +func (x *UserResChangedPush) GetTalent1() int32 { + if x != nil { + return x.Talent1 + } + return 0 +} + +func (x *UserResChangedPush) GetTalent2() int32 { + if x != nil { + return x.Talent2 + } + return 0 +} + +func (x *UserResChangedPush) GetTalent3() int32 { + if x != nil { + return x.Talent3 + } + return 0 +} + +func (x *UserResChangedPush) GetTalent4() int32 { + if x != nil { + return x.Talent4 + } + return 0 +} + // 玩家在其它终端登录的通知 type UserOtherTermLoginPush struct { state protoimpl.MessageState @@ -2702,7 +2734,7 @@ var file_user_user_msg_proto_rawDesc = []byte{ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x88, 0x02, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0xf0, 0x02, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, @@ -2719,137 +2751,143 @@ var file_user_user_msg_proto_rawDesc = []byte{ 0x05, 0x52, 0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, - 0x4f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x75, - 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x50, 0x73, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x22, 0x3e, - 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x40, - 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x22, 0x29, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, - 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x26, - 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, - 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a, - 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34, + 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x72, + 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x11, + 0x55, 0x73, 0x65, 0x72, 0x50, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, + 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x22, 0x3e, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x40, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x28, + 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, - 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, - 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, - 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, - 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, - 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x67, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, - 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, - 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x31, - 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, - 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2d, 0x0a, 0x11, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73, - 0x65, 0x72, 0x4c, 0x76, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x6c, 0x76, 0x22, 0x54, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x70, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, - 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70, - 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, - 0x67, 0x6e, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, - 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, - 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, - 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, - 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, - 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, - 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, - 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e, - 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, - 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x22, 0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55, + 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x26, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, + 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25, + 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, + 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, + 0x28, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, + 0x12, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, + 0x52, 0x65, 0x71, 0x22, 0x2d, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, + 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, + 0x64, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x76, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6c, + 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x54, 0x0a, 0x12, 0x55, + 0x73, 0x65, 0x72, 0x56, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x69, 0x70, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x70, 0x4c, + 0x76, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14, + 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78, + 0x12, 0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, + 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76, + 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, + 0x52, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34, + 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, + 0x6a, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, + 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x22, 0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, + 0x6a, 0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, - 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0x2b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, - 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b, + 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, + 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50, + 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a, + 0x12, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/services/worker/main.go b/services/worker/main.go index c976ff828..aef16d5f8 100644 --- a/services/worker/main.go +++ b/services/worker/main.go @@ -33,6 +33,7 @@ import ( "go_dreamfactory/modules/privilege" "go_dreamfactory/modules/pvp" "go_dreamfactory/modules/reddot" + "go_dreamfactory/modules/reputation" "go_dreamfactory/modules/rtask" "go_dreamfactory/modules/shop" "go_dreamfactory/modules/smithy" @@ -57,8 +58,8 @@ import ( ) /* - 服务类型:worker - 服务描述:处理梦工厂的具体业务需求,包含 user,pack,mail,friend...功能业务模块 +服务类型:worker +服务描述:处理梦工厂的具体业务需求,包含 user,pack,mail,friend...功能业务模块 */ var ( conf = flag.String("conf", "./conf/worker_1.yaml", "获取需要启动的服务配置文件") //启动服务的Id @@ -117,6 +118,7 @@ func main() { atlas.NewModule(), practice.NewModule(), tools.NewModule(), + reputation.NewModule(), ) } @@ -126,12 +128,12 @@ func NewService(ops ...rpcx.Option) core.IService { return s } -//worker 的服务对象定义 +// worker 的服务对象定义 type Service struct { services.ServiceBase } -//初始化worker需要的一些系统工具 +// 初始化worker需要的一些系统工具 func (this *Service) InitSys() { this.ServiceBase.InitSys() //初始化配置中心系统 每个服务都会用到的就在这个初始化就好 From 3cce3dfb049a40922159b904608317481bbd1cd5 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 19 Apr 2023 20:20:05 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_camplv.json | 774 +++++++++++++++++- bin/json/game_coin.json | 70 +- bin/json/game_dispatch_task.json | 146 ++-- bin/json/game_favorability.json | 730 ++++++----------- bin/json/game_friends.json | 30 +- bin/json/game_global.json | 4 +- bin/json/game_gm.json | 10 + bin/json/game_item.json | 8 +- bin/json/game_msgdistrib.json | 6 + bin/json/game_opencond.json | 12 +- bin/json/game_pandamasjx.json | 64 +- bin/json/game_pandamasmryl.json | 48 +- bin/json/game_skillafteratk.json | 18 +- bin/json/game_skillbuff.json | 157 +++- bin/json/game_skillpassive.json | 2 +- modules/parkour/api_changemts.go | 47 +- modules/parkour/api_invite.go | 4 +- modules/parkour/api_invitehandle.go | 7 +- modules/parkour/module.go | 12 +- .../structs/Game.FavorabilityData.go | 23 +- sys/configure/structs/Game.FriendsData.go | 4 +- sys/configure/structs/game.coinData.go | 2 +- sys/configure/structs/game.globalData.go | 4 + sys/configure/structs/game.skillBuffData.go | 2 + 24 files changed, 1457 insertions(+), 727 deletions(-) diff --git a/bin/json/game_camplv.json b/bin/json/game_camplv.json index 632ff25d0..b7178514d 100644 --- a/bin/json/game_camplv.json +++ b/bin/json/game_camplv.json @@ -1,9 +1,9 @@ [ { "id": 1, - "reputation_lv": 1, + "reputation_lv": 0, "raceType": 1, - "reputation_exp": 20, + "reputation_exp": 0, "Reward": { "a": "attr", "t": "talent1", @@ -12,6 +12,17 @@ }, { "id": 2, + "reputation_lv": 1, + "raceType": 1, + "reputation_exp": 20, + "Reward": { + "a": "attr", + "t": "talent1", + "n": 1 + } + }, + { + "id": 3, "reputation_lv": 2, "raceType": 1, "reputation_exp": 30, @@ -22,7 +33,7 @@ } }, { - "id": 3, + "id": 4, "reputation_lv": 3, "raceType": 1, "reputation_exp": 40, @@ -33,7 +44,7 @@ } }, { - "id": 4, + "id": 5, "reputation_lv": 4, "raceType": 1, "reputation_exp": 50, @@ -44,7 +55,7 @@ } }, { - "id": 5, + "id": 6, "reputation_lv": 5, "raceType": 1, "reputation_exp": 60, @@ -55,7 +66,7 @@ } }, { - "id": 6, + "id": 7, "reputation_lv": 6, "raceType": 1, "reputation_exp": 70, @@ -66,7 +77,7 @@ } }, { - "id": 7, + "id": 8, "reputation_lv": 7, "raceType": 1, "reputation_exp": 80, @@ -77,10 +88,10 @@ } }, { - "id": 8, - "reputation_lv": 1, - "raceType": 2, - "reputation_exp": 10, + "id": 9, + "reputation_lv": 8, + "raceType": 1, + "reputation_exp": 90, "Reward": { "a": "attr", "t": "talent2", @@ -88,8 +99,151 @@ } }, { - "id": 9, - "reputation_lv": 2, + "id": 10, + "reputation_lv": 9, + "raceType": 1, + "reputation_exp": 100, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 11, + "reputation_lv": 10, + "raceType": 1, + "reputation_exp": 110, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 12, + "reputation_lv": 11, + "raceType": 1, + "reputation_exp": 120, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 13, + "reputation_lv": 12, + "raceType": 1, + "reputation_exp": 130, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 14, + "reputation_lv": 13, + "raceType": 1, + "reputation_exp": 140, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 15, + "reputation_lv": 14, + "raceType": 1, + "reputation_exp": 150, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 16, + "reputation_lv": 15, + "raceType": 1, + "reputation_exp": 160, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 17, + "reputation_lv": 16, + "raceType": 1, + "reputation_exp": 170, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 18, + "reputation_lv": 17, + "raceType": 1, + "reputation_exp": 180, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 19, + "reputation_lv": 18, + "raceType": 1, + "reputation_exp": 190, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 20, + "reputation_lv": 19, + "raceType": 1, + "reputation_exp": 200, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 21, + "reputation_lv": 20, + "raceType": 1, + "reputation_exp": 210, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 22, + "reputation_lv": 0, + "raceType": 2, + "reputation_exp": 0, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 23, + "reputation_lv": 1, "raceType": 2, "reputation_exp": 20, "Reward": { @@ -99,8 +253,8 @@ } }, { - "id": 10, - "reputation_lv": 3, + "id": 24, + "reputation_lv": 2, "raceType": 2, "reputation_exp": 30, "Reward": { @@ -110,8 +264,8 @@ } }, { - "id": 11, - "reputation_lv": 4, + "id": 25, + "reputation_lv": 3, "raceType": 2, "reputation_exp": 40, "Reward": { @@ -121,8 +275,8 @@ } }, { - "id": 12, - "reputation_lv": 5, + "id": 26, + "reputation_lv": 4, "raceType": 2, "reputation_exp": 50, "Reward": { @@ -132,8 +286,8 @@ } }, { - "id": 13, - "reputation_lv": 6, + "id": 27, + "reputation_lv": 5, "raceType": 2, "reputation_exp": 60, "Reward": { @@ -143,8 +297,8 @@ } }, { - "id": 14, - "reputation_lv": 7, + "id": 28, + "reputation_lv": 6, "raceType": 2, "reputation_exp": 70, "Reward": { @@ -154,8 +308,8 @@ } }, { - "id": 15, - "reputation_lv": 8, + "id": 29, + "reputation_lv": 7, "raceType": 2, "reputation_exp": 80, "Reward": { @@ -165,8 +319,8 @@ } }, { - "id": 16, - "reputation_lv": 9, + "id": 30, + "reputation_lv": 8, "raceType": 2, "reputation_exp": 90, "Reward": { @@ -176,8 +330,8 @@ } }, { - "id": 17, - "reputation_lv": 10, + "id": 31, + "reputation_lv": 9, "raceType": 2, "reputation_exp": 100, "Reward": { @@ -187,8 +341,8 @@ } }, { - "id": 18, - "reputation_lv": 11, + "id": 32, + "reputation_lv": 10, "raceType": 2, "reputation_exp": 110, "Reward": { @@ -198,8 +352,8 @@ } }, { - "id": 19, - "reputation_lv": 12, + "id": 33, + "reputation_lv": 11, "raceType": 2, "reputation_exp": 120, "Reward": { @@ -209,8 +363,8 @@ } }, { - "id": 20, - "reputation_lv": 20, + "id": 34, + "reputation_lv": 12, "raceType": 2, "reputation_exp": 130, "Reward": { @@ -218,5 +372,555 @@ "t": "talent2", "n": 1 } + }, + { + "id": 35, + "reputation_lv": 13, + "raceType": 2, + "reputation_exp": 140, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 36, + "reputation_lv": 14, + "raceType": 2, + "reputation_exp": 150, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 37, + "reputation_lv": 15, + "raceType": 2, + "reputation_exp": 160, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 38, + "reputation_lv": 16, + "raceType": 2, + "reputation_exp": 170, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 39, + "reputation_lv": 17, + "raceType": 2, + "reputation_exp": 180, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 40, + "reputation_lv": 18, + "raceType": 2, + "reputation_exp": 190, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 41, + "reputation_lv": 19, + "raceType": 2, + "reputation_exp": 200, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 42, + "reputation_lv": 20, + "raceType": 2, + "reputation_exp": 210, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 43, + "reputation_lv": 0, + "raceType": 3, + "reputation_exp": 0, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 44, + "reputation_lv": 1, + "raceType": 3, + "reputation_exp": 20, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 45, + "reputation_lv": 2, + "raceType": 3, + "reputation_exp": 30, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 46, + "reputation_lv": 3, + "raceType": 3, + "reputation_exp": 40, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 47, + "reputation_lv": 4, + "raceType": 3, + "reputation_exp": 50, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 48, + "reputation_lv": 5, + "raceType": 3, + "reputation_exp": 60, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 49, + "reputation_lv": 6, + "raceType": 3, + "reputation_exp": 70, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 50, + "reputation_lv": 7, + "raceType": 3, + "reputation_exp": 80, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 51, + "reputation_lv": 8, + "raceType": 3, + "reputation_exp": 90, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 52, + "reputation_lv": 9, + "raceType": 3, + "reputation_exp": 100, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 53, + "reputation_lv": 10, + "raceType": 3, + "reputation_exp": 110, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 54, + "reputation_lv": 11, + "raceType": 3, + "reputation_exp": 120, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 55, + "reputation_lv": 12, + "raceType": 3, + "reputation_exp": 130, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 56, + "reputation_lv": 13, + "raceType": 3, + "reputation_exp": 140, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 57, + "reputation_lv": 14, + "raceType": 3, + "reputation_exp": 150, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 58, + "reputation_lv": 15, + "raceType": 3, + "reputation_exp": 160, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 59, + "reputation_lv": 16, + "raceType": 3, + "reputation_exp": 170, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 60, + "reputation_lv": 17, + "raceType": 3, + "reputation_exp": 180, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 61, + "reputation_lv": 18, + "raceType": 3, + "reputation_exp": 190, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 62, + "reputation_lv": 19, + "raceType": 3, + "reputation_exp": 200, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 63, + "reputation_lv": 20, + "raceType": 3, + "reputation_exp": 210, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 64, + "reputation_lv": 0, + "raceType": 4, + "reputation_exp": 0, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 65, + "reputation_lv": 1, + "raceType": 4, + "reputation_exp": 20, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 66, + "reputation_lv": 2, + "raceType": 4, + "reputation_exp": 30, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 67, + "reputation_lv": 3, + "raceType": 4, + "reputation_exp": 40, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 68, + "reputation_lv": 4, + "raceType": 4, + "reputation_exp": 50, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 69, + "reputation_lv": 5, + "raceType": 4, + "reputation_exp": 60, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 70, + "reputation_lv": 6, + "raceType": 4, + "reputation_exp": 70, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 71, + "reputation_lv": 7, + "raceType": 4, + "reputation_exp": 80, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 72, + "reputation_lv": 8, + "raceType": 4, + "reputation_exp": 90, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 73, + "reputation_lv": 9, + "raceType": 4, + "reputation_exp": 100, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 74, + "reputation_lv": 10, + "raceType": 4, + "reputation_exp": 110, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 75, + "reputation_lv": 11, + "raceType": 4, + "reputation_exp": 120, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 76, + "reputation_lv": 12, + "raceType": 4, + "reputation_exp": 130, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 77, + "reputation_lv": 13, + "raceType": 4, + "reputation_exp": 140, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 78, + "reputation_lv": 14, + "raceType": 4, + "reputation_exp": 150, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 79, + "reputation_lv": 15, + "raceType": 4, + "reputation_exp": 160, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 80, + "reputation_lv": 16, + "raceType": 4, + "reputation_exp": 170, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 81, + "reputation_lv": 17, + "raceType": 4, + "reputation_exp": 180, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 82, + "reputation_lv": 18, + "raceType": 4, + "reputation_exp": 190, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 83, + "reputation_lv": 19, + "raceType": 4, + "reputation_exp": 200, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } + }, + { + "id": 84, + "reputation_lv": 20, + "raceType": 4, + "reputation_exp": 210, + "Reward": { + "a": "attr", + "t": "talent2", + "n": 1 + } } ] \ No newline at end of file diff --git a/bin/json/game_coin.json b/bin/json/game_coin.json index fa92196a0..e7dfcdbb9 100644 --- a/bin/json/game_coin.json +++ b/bin/json/game_coin.json @@ -6,7 +6,10 @@ "effects": "", "access": 123, "img": "wp_icon_10035", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_gold", + "text": "可以用来购买各种道具的基础货币" + } }, { "key": "diamond", @@ -15,7 +18,10 @@ "effects": "", "access": 158, "img": "wp_icon_10036", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_diamond", + "text": "珍惜的高级货币,可以用来购买各种稀有道具" + } }, { "key": "exp", @@ -24,7 +30,10 @@ "effects": "", "access": 113, "img": "icon_hy", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_exp", + "text": "可用于提升角色等级" + } }, { "key": "friendPoint", @@ -33,7 +42,10 @@ "effects": "", "access": 115, "img": "wp_icon_10014", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_friendPoint", + "text": "好友赠送的友情点,可以用于有情商店兑换各种道具" + } }, { "key": "palyexp", @@ -42,7 +54,10 @@ "effects": "", "access": 113, "img": "wp_icon_0002", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_palyexp", + "text": "可用于提升角色等级" + } }, { "key": "guildexp", @@ -51,7 +66,10 @@ "effects": "", "access": 157, "img": "wp_icon_10024", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_guildexp", + "text": "有多种功能的基础货币" + } }, { "key": "guildactive", @@ -60,7 +78,10 @@ "effects": "", "access": 157, "img": "wp_icon_0001", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_guildactive", + "text": "有多种功能的基础货币" + } }, { "key": "guildcoin", @@ -69,7 +90,10 @@ "effects": "", "access": 157, "img": "wp_icon_10017", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_guildcoin", + "text": "有多种功能的基础货币" + } }, { "key": "starcoin", @@ -78,7 +102,10 @@ "effects": "", "access": 158, "img": "wp_icon_10017", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_starcoin", + "text": "有多种功能的基础货币" + } }, { "key": "vipexp", @@ -87,7 +114,10 @@ "effects": "", "access": 158, "img": "wp_icon_0002", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_vipexp", + "text": "有多种功能的基础货币" + } }, { "key": "arenacoin", @@ -96,7 +126,10 @@ "effects": "", "access": 156, "img": "icon_ry", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_arenacoin", + "text": "有多种功能的基础货币" + } }, { "key": "ps", @@ -105,7 +138,10 @@ "effects": "", "access": 156, "img": "wp_icon_0002", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_ps", + "text": "有多种功能的基础货币" + } }, { "key": "heroexp", @@ -114,7 +150,10 @@ "effects": "", "access": 0, "img": "wp_icon_10009", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_heroexp", + "text": "有多种功能的基础货币" + } }, { "key": "moongold", @@ -123,6 +162,9 @@ "effects": "", "access": 107, "img": "wp_icon_10009", - "intr": "Currency used to purchase goods" + "intr": { + "key": "item_coin_intr_moongold", + "text": "有多种功能的基础货币" + } } ] \ No newline at end of file diff --git a/bin/json/game_dispatch_task.json b/bin/json/game_dispatch_task.json index 724d80405..5520cd8b2 100644 --- a/bin/json/game_dispatch_task.json +++ b/bin/json/game_dispatch_task.json @@ -8,7 +8,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 140, + "tasktime": 138, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -56,7 +56,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 73, + "tasktime": 163, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -104,7 +104,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 137, + "tasktime": 164, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -152,7 +152,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 132, + "tasktime": 105, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -200,7 +200,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 126, + "tasktime": 101, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -248,7 +248,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 82, + "tasktime": 157, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -296,7 +296,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 166, + "tasktime": 138, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -344,7 +344,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 79, + "tasktime": 133, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -392,7 +392,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 124, + "tasktime": 144, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -440,7 +440,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 158, + "tasktime": 155, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -488,7 +488,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 168, + "tasktime": 127, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -536,7 +536,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 170, + "tasktime": 115, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -584,7 +584,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 83, + "tasktime": 176, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -632,7 +632,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 124, + "tasktime": 61, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -680,7 +680,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 141, + "tasktime": 80, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -728,7 +728,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 92, + "tasktime": 127, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -776,7 +776,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 128, + "tasktime": 96, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -824,7 +824,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 136, + "tasktime": 89, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -872,7 +872,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 132, + "tasktime": 145, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -920,7 +920,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 122, + "tasktime": 107, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1016,7 +1016,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 84, + "tasktime": 129, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -1064,7 +1064,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 122, + "tasktime": 176, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -1112,7 +1112,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 124, + "tasktime": 102, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1160,7 +1160,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 159, + "tasktime": 155, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -1208,7 +1208,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 88, + "tasktime": 93, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -1256,7 +1256,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 94, + "tasktime": 167, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -1304,7 +1304,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 132, + "tasktime": 86, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1352,7 +1352,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 169, + "tasktime": 153, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -1400,7 +1400,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 147, + "tasktime": 146, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -1448,7 +1448,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 61, + "tasktime": 115, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -1496,7 +1496,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 130, + "tasktime": 115, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1544,7 +1544,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 160, + "tasktime": 139, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -1592,7 +1592,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 109, + "tasktime": 177, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -1640,7 +1640,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 60, + "tasktime": 137, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -1688,7 +1688,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 105, + "tasktime": 121, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1736,7 +1736,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 103, + "tasktime": 97, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -1784,7 +1784,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 122, + "tasktime": 174, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -1832,7 +1832,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 76, + "tasktime": 63, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -1880,7 +1880,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 140, + "tasktime": 116, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -1928,7 +1928,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 89, + "tasktime": 171, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -1976,7 +1976,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 81, + "tasktime": 92, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2024,7 +2024,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 166, + "tasktime": 75, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -2072,7 +2072,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 180, + "tasktime": 102, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -2120,7 +2120,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 95, + "tasktime": 86, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -2168,7 +2168,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 146, + "tasktime": 60, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2216,7 +2216,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 153, + "tasktime": 117, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -2264,7 +2264,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 113, + "tasktime": 118, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -2312,7 +2312,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 70, + "tasktime": 170, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -2360,7 +2360,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 69, + "tasktime": 107, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2408,7 +2408,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 160, + "tasktime": 73, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -2456,7 +2456,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 141, + "tasktime": 114, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -2504,7 +2504,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 143, + "tasktime": 99, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -2552,7 +2552,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 91, + "tasktime": 106, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2600,7 +2600,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 120, + "tasktime": 136, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -2648,7 +2648,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 119, + "tasktime": 96, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -2696,7 +2696,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 129, + "tasktime": 114, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -2744,7 +2744,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 76, + "tasktime": 109, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2792,7 +2792,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 84, + "tasktime": 80, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -2840,7 +2840,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 68, + "tasktime": 172, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -2888,7 +2888,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 152, + "tasktime": 103, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -2936,7 +2936,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 129, + "tasktime": 157, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -2984,7 +2984,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 105, + "tasktime": 154, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -3032,7 +3032,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 73, + "tasktime": 82, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -3080,7 +3080,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 144, + "tasktime": 135, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -3128,7 +3128,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 124, + "tasktime": 63, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -3176,7 +3176,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 88, + "tasktime": 137, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -3224,7 +3224,7 @@ }, "icon": "xmwg_rw_pt5", "taskcd": 200, - "tasktime": 123, + "tasktime": 121, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -3272,7 +3272,7 @@ }, "icon": "xmwg_rw_pt6", "taskcd": 200, - "tasktime": 152, + "tasktime": 119, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -3320,7 +3320,7 @@ }, "icon": "xmwg_rw_pt7", "taskcd": 200, - "tasktime": 62, + "tasktime": 89, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" @@ -3368,7 +3368,7 @@ }, "icon": "xmwg_rw_pt1", "taskcd": 200, - "tasktime": 132, + "tasktime": 72, "tasktxt": { "key": "Entrustment details of Tiger", "text": "这是属于悍娇虎的专属委托" @@ -3416,7 +3416,7 @@ }, "icon": "xmwg_rw_pt2", "taskcd": 200, - "tasktime": 64, + "tasktime": 134, "tasktxt": { "key": "Entrustment details of Shifu", "text": "这是属于师父的专属委托" @@ -3464,7 +3464,7 @@ }, "icon": "xmwg_rw_pt3", "taskcd": 200, - "tasktime": 70, + "tasktime": 128, "tasktxt": { "key": "Entrustment details of Po", "text": "这是属于阿宝的专属委托" @@ -3512,7 +3512,7 @@ }, "icon": "xmwg_rw_pt4", "taskcd": 200, - "tasktime": 71, + "tasktime": 98, "tasktxt": { "key": "Entrustment details of Bobi", "text": "这是属于波比的专属委托" diff --git a/bin/json/game_favorability.json b/bin/json/game_favorability.json index 99fee7d74..07f09b7ac 100644 --- a/bin/json/game_favorability.json +++ b/bin/json/game_favorability.json @@ -1,102 +1,4 @@ [ - { - "id": 1, - "hid": "14002", - "name": { - "key": "hero_14002", - "text": "大龙" - }, - "favor_lv": 0, - "favor_exp": 100, - "lv_name": { - "key": "favorability_favorability_lv_name_0", - "text": "萍水相逢" - }, - "privilege_type": 0, - "privilege_value": 0, - "return_reward": [], - "return_txt": { - "key": "", - "text": "" - }, - "likes_food": [], - "disliking_food": [], - "likes_txt": { - "key": "favorability_favorability_likes_txt_14002", - "text": "我很喜欢,谢谢!" - }, - "ordinary_txt": { - "key": "favorability_favorability_ordinary_txt_14002", - "text": "送我的?谢谢!" - }, - "disliking_txt": { - "key": "favorability_favorabilit_disliking_txt_14002", - "text": "这味道,一言难尽......" - }, - "favorlv": [ - 1, - 3, - 5 - ], - "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" - ], - "biography_reward1": [ - { - "a": "item", - "t": "30001", - "n": 1 - } - ], - "biography_reward2": [ - { - "a": "item", - "t": "30001", - "n": 1 - } - ], - "biography_reward3": [ - { - "a": "item", - "t": "30001", - "n": 1 - } - ], - "plot_unlock": [ - 2, - 4, - 6, - 8 - ], - "startid": 300001, - "endid": [ - 3000015, - 3000017, - 3000018 - ], - "rightend": 3000014, - "stroyprize": [ - { - "a": "attr", - "t": "gold", - "n": 1000 - } - ], - "special_stroyprize": [ - { - "a": "attr", - "t": "gold", - "n": 2000 - } - ] - }, { "id": 2, "hid": "14002", @@ -108,7 +10,7 @@ "favor_exp": 200, "lv_name": { "key": "favorability_favorability_lv_name_1", - "text": "点头之交" + "text": "萍水相逢" }, "privilege_type": 0, "privilege_value": 0, @@ -117,6 +19,11 @@ "a": "item", "t": "30001", "n": 1 + }, + { + "a": "item", + "t": "30001", + "n": 2 } ], "return_txt": { @@ -143,14 +50,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -216,10 +118,21 @@ }, "privilege_type": 0, "privilege_value": 0, - "return_reward": [], + "return_reward": [ + { + "a": "item", + "t": "30001", + "n": 2 + }, + { + "a": "item", + "t": "30001", + "n": 3 + } + ], "return_txt": { - "key": "", - "text": "" + "key": "favorability_favorability_return_txt", + "text": "达到好感度{0}级可领取" }, "likes_food": [], "disliking_food": [], @@ -241,14 +154,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -318,7 +226,12 @@ { "a": "item", "t": "30001", - "n": 1 + "n": 3 + }, + { + "a": "item", + "t": "30001", + "n": 4 } ], "return_txt": { @@ -345,14 +258,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -418,10 +326,21 @@ }, "privilege_type": 0, "privilege_value": 0, - "return_reward": [], + "return_reward": [ + { + "a": "item", + "t": "30001", + "n": 4 + }, + { + "a": "item", + "t": "30001", + "n": 5 + } + ], "return_txt": { - "key": "", - "text": "" + "key": "favorability_favorability_return_txt", + "text": "达到好感度{0}级可领取" }, "likes_food": [], "disliking_food": [], @@ -443,14 +362,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -520,7 +434,12 @@ { "a": "item", "t": "30001", - "n": 1 + "n": 5 + }, + { + "a": "item", + "t": "30001", + "n": 6 } ], "return_txt": { @@ -547,14 +466,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -620,10 +534,21 @@ }, "privilege_type": 0, "privilege_value": 0, - "return_reward": [], + "return_reward": [ + { + "a": "item", + "t": "30001", + "n": 6 + }, + { + "a": "item", + "t": "30001", + "n": 7 + } + ], "return_txt": { - "key": "", - "text": "" + "key": "favorability_favorability_return_txt", + "text": "达到好感度{0}级可领取" }, "likes_food": [], "disliking_food": [], @@ -645,14 +570,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -722,7 +642,12 @@ { "a": "item", "t": "30001", - "n": 1 + "n": 7 + }, + { + "a": "item", + "t": "30001", + "n": 8 } ], "return_txt": { @@ -749,14 +674,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -822,10 +742,21 @@ }, "privilege_type": 0, "privilege_value": 0, - "return_reward": [], + "return_reward": [ + { + "a": "item", + "t": "30001", + "n": 8 + }, + { + "a": "item", + "t": "30001", + "n": 9 + } + ], "return_txt": { - "key": "", - "text": "" + "key": "favorability_favorability_return_txt", + "text": "达到好感度{0}级可领取" }, "likes_food": [], "disliking_food": [], @@ -847,14 +778,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -924,7 +850,12 @@ { "a": "item", "t": "30001", - "n": 1 + "n": 9 + }, + { + "a": "item", + "t": "30001", + "n": 10 } ], "return_txt": { @@ -951,14 +882,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -1024,10 +950,21 @@ }, "privilege_type": 0, "privilege_value": 0, - "return_reward": [], + "return_reward": [ + { + "a": "item", + "t": "30001", + "n": 10 + }, + { + "a": "item", + "t": "30001", + "n": 11 + } + ], "return_txt": { - "key": "", - "text": "" + "key": "favorability_favorability_return_txt", + "text": "达到好感度{0}级可领取" }, "likes_food": [], "disliking_food": [], @@ -1049,14 +986,9 @@ 5 ], "biography_name": [ - "140021", - "140022", - "140023" - ], - "biography_txt": [ - "140021", - "140022", - "140023" + 140021, + 140022, + 140023 ], "biography_reward1": [ { @@ -1114,10 +1046,10 @@ "key": "hero_14005", "text": "鹤大师" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1147,14 +1079,9 @@ 3 ], "biography_name": [ - "140051", - "140052", - "140053" - ], - "biography_txt": [ - "140051", - "140052", - "140053" + 140051, + 140052, + 140053 ], "biography_reward1": [ { @@ -1212,10 +1139,10 @@ "key": "hero_14006", "text": "布兰奇" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1245,14 +1172,9 @@ 3 ], "biography_name": [ - "140061", - "140062", - "140063" - ], - "biography_txt": [ - "140061", - "140062", - "140063" + 140061, + 140062, + 140063 ], "biography_reward1": [ { @@ -1310,10 +1232,10 @@ "key": "hero_15004", "text": "小欧" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1343,14 +1265,9 @@ 3 ], "biography_name": [ - "150041", - "150042", - "150043" - ], - "biography_txt": [ - "150041", - "150042", - "150043" + 150041, + 150042, + 150043 ], "biography_reward1": [ { @@ -1408,10 +1325,10 @@ "key": "hero_24002", "text": "牙仙" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1441,14 +1358,9 @@ 3 ], "biography_name": [ - "240021", - "240022", - "240023" - ], - "biography_txt": [ - "240021", - "240022", - "240023" + 240021, + 240022, + 240023 ], "biography_reward1": [ { @@ -1506,10 +1418,10 @@ "key": "hero_24003", "text": "睡神沙人" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1539,14 +1451,9 @@ 3 ], "biography_name": [ - "240031", - "240032", - "240033" - ], - "biography_txt": [ - "240031", - "240032", - "240033" + 240031, + 240032, + 240033 ], "biography_reward1": [ { @@ -1604,10 +1511,10 @@ "key": "hero_24004", "text": "邦尼兔" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1637,14 +1544,9 @@ 3 ], "biography_name": [ - "240041", - "240042", - "240043" - ], - "biography_txt": [ - "240041", - "240042", - "240043" + 240041, + 240042, + 240043 ], "biography_reward1": [ { @@ -1702,10 +1604,10 @@ "key": "hero_24005", "text": "金猴" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1735,14 +1637,9 @@ 3 ], "biography_name": [ - "240051", - "240052", - "240053" - ], - "biography_txt": [ - "240051", - "240052", - "240053" + 240051, + 240052, + 240053 ], "biography_reward1": [ { @@ -1800,10 +1697,10 @@ "key": "hero_24008", "text": "暴芙那特" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1833,14 +1730,9 @@ 3 ], "biography_name": [ - "240081", - "240082", - "240083" - ], - "biography_txt": [ - "240081", - "240082", - "240083" + 240081, + 240082, + 240083 ], "biography_reward1": [ { @@ -1898,10 +1790,10 @@ "key": "hero_25001", "text": "阿宝" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -1931,14 +1823,9 @@ 3 ], "biography_name": [ - "250011", - "250012", - "250013" - ], - "biography_txt": [ - "250011", - "250012", - "250013" + 250011, + 250012, + 250013 ], "biography_reward1": [ { @@ -1996,10 +1883,10 @@ "key": "hero_25003", "text": "羊仙姑" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2029,14 +1916,9 @@ 3 ], "biography_name": [ - "250031", - "250032", - "250033" - ], - "biography_txt": [ - "250031", - "250032", - "250033" + 250031, + 250032, + 250033 ], "biography_reward1": [ { @@ -2094,10 +1976,10 @@ "key": "hero_25004", "text": "波比" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2127,14 +2009,9 @@ 3 ], "biography_name": [ - "250041", - "250042", - "250043" - ], - "biography_txt": [ - "250041", - "250042", - "250043" + 250041, + 250042, + 250043 ], "biography_reward1": [ { @@ -2192,10 +2069,10 @@ "key": "hero_34001", "text": "贫嘴驴" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2225,14 +2102,9 @@ 3 ], "biography_name": [ - "340011", - "340012", - "340013" - ], - "biography_txt": [ - "340011", - "340012", - "340013" + 340011, + 340012, + 340013 ], "biography_reward1": [ { @@ -2290,10 +2162,10 @@ "key": "hero_34003", "text": "圣诞老人" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2323,14 +2195,9 @@ 3 ], "biography_name": [ - "340031", - "340032", - "340033" - ], - "biography_txt": [ - "340031", - "340032", - "340033" + 340031, + 340032, + 340033 ], "biography_reward1": [ { @@ -2388,10 +2255,10 @@ "key": "hero_34004", "text": "瓜哥" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2421,14 +2288,9 @@ 3 ], "biography_name": [ - "340041", - "340042", - "340043" - ], - "biography_txt": [ - "340041", - "340042", - "340043" + 340041, + 340042, + 340043 ], "biography_reward1": [ { @@ -2486,10 +2348,10 @@ "key": "hero_34006", "text": "冰霜杰克" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2519,14 +2381,9 @@ 3 ], "biography_name": [ - "340061", - "340062", - "340063" - ], - "biography_txt": [ - "340061", - "340062", - "340063" + 340061, + 340062, + 340063 ], "biography_reward1": [ { @@ -2584,10 +2441,10 @@ "key": "hero_34008", "text": "悍夫那特" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2617,14 +2474,9 @@ 3 ], "biography_name": [ - "340081", - "340082", - "340083" - ], - "biography_txt": [ - "340081", - "340082", - "340083" + 340081, + 340082, + 340083 ], "biography_reward1": [ { @@ -2682,10 +2534,10 @@ "key": "hero_35001", "text": "师父" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2715,14 +2567,9 @@ 3 ], "biography_name": [ - "350011", - "350012", - "350013" - ], - "biography_txt": [ - "350011", - "350012", - "350013" + 350011, + 350012, + 350013 ], "biography_reward1": [ { @@ -2780,10 +2627,10 @@ "key": "hero_35002", "text": "希卡普" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2813,14 +2660,9 @@ 3 ], "biography_name": [ - "350021", - "350022", - "350023" - ], - "biography_txt": [ - "350021", - "350022", - "350023" + 350021, + 350022, + 350023 ], "biography_reward1": [ { @@ -2878,10 +2720,10 @@ "key": "hero_35003", "text": "漆黑" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -2911,14 +2753,9 @@ 3 ], "biography_name": [ - "350031", - "350032", - "350033" - ], - "biography_txt": [ - "350031", - "350032", - "350033" + 350031, + 350032, + 350033 ], "biography_reward1": [ { @@ -2976,10 +2813,10 @@ "key": "hero_35004", "text": "黛安·福克斯顿" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3009,14 +2846,9 @@ 3 ], "biography_name": [ - "350041", - "350042", - "350043" - ], - "biography_txt": [ - "350041", - "350042", - "350043" + 350041, + 350042, + 350043 ], "biography_reward1": [ { @@ -3074,10 +2906,10 @@ "key": "hero_35006", "text": "平先生" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3107,14 +2939,9 @@ 3 ], "biography_name": [ - "350061", - "350062", - "350063" - ], - "biography_txt": [ - "350061", - "350062", - "350063" + 350061, + 350062, + 350063 ], "biography_reward1": [ { @@ -3172,10 +2999,10 @@ "key": "hero_43005", "text": "瓦希尔指挥官" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3205,12 +3032,8 @@ 3 ], "biography_name": [ - "430051", - "430052" - ], - "biography_txt": [ - "430051", - "430052" + 430051, + 430052 ], "biography_reward1": [ { @@ -3268,10 +3091,10 @@ "key": "hero_43007", "text": "戈伯" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3301,14 +3124,9 @@ 3 ], "biography_name": [ - "430071", - "430072", - "430073" - ], - "biography_txt": [ - "430071", - "430072", - "430073" + 430071, + 430072, + 430073 ], "biography_reward1": [ { @@ -3366,10 +3184,10 @@ "key": "hero_44006", "text": "悍娇虎" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3399,14 +3217,9 @@ 3 ], "biography_name": [ - "440061", - "440062", - "440063" - ], - "biography_txt": [ - "440061", - "440062", - "440063" + 440061, + 440062, + 440063 ], "biography_reward1": [ { @@ -3464,10 +3277,10 @@ "key": "hero_45001", "text": "乌龟大师" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3497,14 +3310,9 @@ 3 ], "biography_name": [ - "450011", - "450012", - "450013" - ], - "biography_txt": [ - "450011", - "450012", - "450013" + 450011, + 450012, + 450013 ], "biography_reward1": [ { @@ -3562,10 +3370,10 @@ "key": "hero_53001", "text": "埃雷特" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3595,14 +3403,9 @@ 3 ], "biography_name": [ - "530011", - "530012", - "530013" - ], - "biography_txt": [ - "530011", - "530012", - "530013" + 530011, + 530012, + 530013 ], "biography_reward1": [ { @@ -3660,10 +3463,10 @@ "key": "hero_54005", "text": "无牙仔" }, - "favor_lv": 0, + "favor_lv": 1, "favor_exp": 100, "lv_name": { - "key": "favorability_favorability_lv_name_0", + "key": "favorability_favorability_lv_name_1", "text": "萍水相逢" }, "privilege_type": 0, @@ -3693,14 +3496,9 @@ 3 ], "biography_name": [ - "540051", - "540052", - "540053" - ], - "biography_txt": [ - "540051", - "540052", - "540053" + 540051, + 540052, + 540053 ], "biography_reward1": [ { diff --git a/bin/json/game_friends.json b/bin/json/game_friends.json index 1f3436742..f4f50d05b 100644 --- a/bin/json/game_friends.json +++ b/bin/json/game_friends.json @@ -14,7 +14,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -41,7 +41,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -68,7 +68,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -95,7 +95,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -122,7 +122,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -149,7 +149,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -176,7 +176,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -203,7 +203,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -230,7 +230,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": 15004, + "hid": "15004", "attribute": [ { "a": "HP", @@ -257,7 +257,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -284,7 +284,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -311,7 +311,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": 15004, + "hid": "15004", "attribute": [ { "a": "HP", @@ -338,7 +338,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": 25001, + "hid": "25001", "attribute": [ { "a": "atkpro", @@ -365,7 +365,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": 35001, + "hid": "35001", "attribute": [ { "a": "atk", @@ -392,7 +392,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": 15004, + "hid": "15004", "attribute": [ { "a": "HP", diff --git a/bin/json/game_global.json b/bin/json/game_global.json index b810bdc20..3e9776337 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -682,6 +682,8 @@ "business_maxint": 1000, "business_bag": 20, "business_rewardday": 1, - "business_renovatething": 180 + "business_renovatething": 180, + "favorability_likes": 1500, + "favorability_dislikes": 500 } ] \ No newline at end of file diff --git a/bin/json/game_gm.json b/bin/json/game_gm.json index cec0634e2..6ca8d11d0 100644 --- a/bin/json/game_gm.json +++ b/bin/json/game_gm.json @@ -298,5 +298,15 @@ }, "data": "", "prefix": "bingo:{0}" + }, + { + "id": 31, + "type": 1, + "text": { + "key": "GM_31", + "text": "清除踢馆NPC(需刷新)" + }, + "data": "", + "prefix": "bingo:cleannpc" } ] \ No newline at end of file diff --git a/bin/json/game_item.json b/bin/json/game_item.json index c509b495d..4056f0c89 100644 --- a/bin/json/game_item.json +++ b/bin/json/game_item.json @@ -2158,7 +2158,7 @@ "box_id": 0, "synthetize_num": 0, "access": [ - 123 + 1128 ], "use_skip": 139, "upper_limit": -1, @@ -2188,7 +2188,7 @@ "box_id": 0, "synthetize_num": 0, "access": [ - 123 + 1128 ], "use_skip": 139, "upper_limit": -1, @@ -2218,7 +2218,7 @@ "box_id": 0, "synthetize_num": 0, "access": [ - 123 + 1128 ], "use_skip": 139, "upper_limit": -1, @@ -2248,7 +2248,7 @@ "box_id": 0, "synthetize_num": 0, "access": [ - 123 + 1128 ], "use_skip": 139, "upper_limit": -1, diff --git a/bin/json/game_msgdistrib.json b/bin/json/game_msgdistrib.json index 0cdc521cf..c9666b435 100644 --- a/bin/json/game_msgdistrib.json +++ b/bin/json/game_msgdistrib.json @@ -118,5 +118,11 @@ "open": true, "routrules": "~/worker", "describe": "好友排行" + }, + { + "msgid": "parkour", + "open": true, + "routrules": "~/worker", + "describe": "捕羊大赛" } ] \ No newline at end of file diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json index 4204d2d64..394e64a95 100644 --- a/bin/json/game_opencond.json +++ b/bin/json/game_opencond.json @@ -235,7 +235,7 @@ "key": "opencond_prompt_trials", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 166, "activateType": 0, "notify": [] }, @@ -283,7 +283,7 @@ "key": "opencond_prompt_story", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 169, "activateType": 0, "notify": [] }, @@ -715,7 +715,7 @@ "key": "opencond_prompt_hunting", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 168, "activateType": 0, "notify": [] }, @@ -907,7 +907,7 @@ "key": "opencond_prompt_arena", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 156, "activateType": 0, "notify": [] }, @@ -1435,7 +1435,7 @@ "key": "opencond_prompt_vikingexpedition_entrance", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 167, "activateType": 0, "notify": [] }, @@ -1555,7 +1555,7 @@ "key": "opencond_prompt_Master_challenges_the_tower", "text": "功能暂未开启" }, - "uiid": 0, + "uiid": 10004, "activateType": 0, "notify": [] }, diff --git a/bin/json/game_pandamasjx.json b/bin/json/game_pandamasjx.json index ce582a162..47e193081 100644 --- a/bin/json/game_pandamasjx.json +++ b/bin/json/game_pandamasjx.json @@ -13,7 +13,7 @@ "heroid": "13002", "img": "sbkp_js_13002", "intr": { - "key": "shirenyu10001", + "key": "miaosushirenyu10001", "text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -47,7 +47,7 @@ "heroid": "13001", "img": "sbkp_js_13001", "intr": { - "key": "shirenyu10002", + "key": "miaosushirenyu10002", "text": "作为教习,闪闪一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -81,7 +81,7 @@ "heroid": "44002", "img": "sbkp_js_44002", "intr": { - "key": "shirenyu10003", + "key": "miaosushirenyu10003", "text": "作为教习,蛇先生一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -115,7 +115,7 @@ "heroid": "24005", "img": "sbkp_js_24005", "intr": { - "key": "shirenyu10004", + "key": "miaosushirenyu10004", "text": "作为教习,金猴一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -160,7 +160,7 @@ "heroid": "14005", "img": "sbkp_js_14005", "intr": { - "key": "shirenyu10005", + "key": "miaosushirenyu10005", "text": "作为教习,鹤大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -194,7 +194,7 @@ "heroid": "44006", "img": "sbkp_js_44006", "intr": { - "key": "shirenyu10006", + "key": "miaosushirenyu10006", "text": "作为教习,悍娇虎一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -228,7 +228,7 @@ "heroid": "43001", "img": "sbkp_js_43001", "intr": { - "key": "shirenyu10007", + "key": "miaosushirenyu10007", "text": "作为教习,盖一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -262,7 +262,7 @@ "heroid": "35002", "img": "sbkp_js_35002", "intr": { - "key": "shirenyu10008", + "key": "miaosushirenyu10008", "text": "作为教习,希卡普一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -296,7 +296,7 @@ "heroid": "45004", "img": "sbkp_js_45004", "intr": { - "key": "shirenyu10009", + "key": "miaosushirenyu10009", "text": "作为教习,穿靴猫一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -341,7 +341,7 @@ "heroid": "35001", "img": "sbkp_js_35001", "intr": { - "key": "shirenyu10010", + "key": "miaosushirenyu10010", "text": "作为教习,师父一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -386,7 +386,7 @@ "heroid": "25001", "img": "sbkp_js_25001", "intr": { - "key": "shirenyu10011", + "key": "miaosushirenyu10011", "text": "作为教习,阿宝一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -431,7 +431,7 @@ "heroid": "45001", "img": "sbkp_js_45001", "intr": { - "key": "shirenyu10012", + "key": "miaosushirenyu10012", "text": "作为教习,乌龟大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" }, "standard_text": 25001, @@ -476,7 +476,7 @@ "heroid": "", "img": "wg_icon_ss", "intr": { - "key": "shirenyu20001", + "key": "miaosushirenyu20001", "text": "石锁,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -521,7 +521,7 @@ "heroid": "", "img": "wg_icon_kz", "intr": { - "key": "shirenyu20002", + "key": "miaosushirenyu20002", "text": "双头空竹,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -555,7 +555,7 @@ "heroid": "", "img": "wg_icon_pj", "intr": { - "key": "shirenyu20003", + "key": "miaosushirenyu20003", "text": "木爬架,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -589,7 +589,7 @@ "heroid": "", "img": "wg_icon_bdw", "intr": { - "key": "shirenyu20004", + "key": "miaosushirenyu20004", "text": "不倒翁,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -623,7 +623,7 @@ "heroid": "", "img": "wg_icon_pc", "intr": { - "key": "shirenyu20005", + "key": "miaosushirenyu20005", "text": "棒槌,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -657,7 +657,7 @@ "heroid": "", "img": "wg_icon_tl", "intr": { - "key": "shirenyu20006", + "key": "miaosushirenyu20006", "text": "铜铃,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -691,7 +691,7 @@ "heroid": "", "img": "wg_icon_tj", "intr": { - "key": "shirenyu20007", + "key": "miaosushirenyu20007", "text": "尖刺吊环,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -725,7 +725,7 @@ "heroid": "", "img": "wg_icon_tj01", "intr": { - "key": "shirenyu20008", + "key": "miaosushirenyu20008", "text": "陀螺,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -759,7 +759,7 @@ "heroid": "", "img": "wg_icon_zl", "intr": { - "key": "shirenyu20009", + "key": "miaosushirenyu20009", "text": "大转轮,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -804,7 +804,7 @@ "heroid": "", "img": "wg_icon_mp", "intr": { - "key": "shirenyu20010", + "key": "miaosushirenyu20010", "text": "木头牌,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -849,7 +849,7 @@ "heroid": "", "img": "wg_icon_sjg", "intr": { - "key": "shirenyu20011", + "key": "miaosushirenyu20011", "text": "双节棍,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -894,7 +894,7 @@ "heroid": "", "img": "wg_icon_yd", "intr": { - "key": "shirenyu20012", + "key": "miaosushirenyu20012", "text": "练功带,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -939,7 +939,7 @@ "heroid": "", "img": "wg_icon_tj", "intr": { - "key": "shirenyu20013", + "key": "miaosushirenyu20013", "text": "七彩花棍,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -984,7 +984,7 @@ "heroid": "", "img": "wg_icon_fb", "intr": { - "key": "shirenyu20014", + "key": "miaosushirenyu20014", "text": "流星飞镖,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1018,7 +1018,7 @@ "heroid": "", "img": "wg_icon_mxl", "intr": { - "key": "shirenyu20015", + "key": "miaosushirenyu20015", "text": "冥想锣,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1052,7 +1052,7 @@ "heroid": "", "img": "wg_icon_ct", "intr": { - "key": "shirenyu20016", + "key": "miaosushirenyu20016", "text": "彩条龙,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1086,7 +1086,7 @@ "heroid": "", "img": "wg_icon_kqms", "intr": { - "key": "shirenyu20017", + "key": "miaosushirenyu20017", "text": "孔雀毛扇,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1129,7 +1129,7 @@ "heroid": "", "img": "wg_icon_ph", "intr": { - "key": "shirenyu20018", + "key": "miaosushirenyu20018", "text": "平衡木,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1172,7 +1172,7 @@ "heroid": "", "img": "wg_icon_th", "intr": { - "key": "shirenyu20019", + "key": "miaosushirenyu20019", "text": "铁环,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, @@ -1215,7 +1215,7 @@ "heroid": "", "img": "wg_icon_tj", "intr": { - "key": "shirenyu20020", + "key": "miaosushirenyu20020", "text": "太极球,传闻是师父在训练阿宝时经常使用到的道具" }, "standard_text": 0, diff --git a/bin/json/game_pandamasmryl.json b/bin/json/game_pandamasmryl.json index c70c9a078..505123a29 100644 --- a/bin/json/game_pandamasmryl.json +++ b/bin/json/game_pandamasmryl.json @@ -5,9 +5,9 @@ "key": "wuguandongzuo_101", "text": "开合跳" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "双脚并立,双臂自然垂在身体的两侧。向上跳,双腿打开,双手举过头顶。\n再向上跳,双脚并拢,手臂放回身体两侧,重复这个动作。这项运动锻炼身体所有的大肌肉群。" }, "ticks": 3, @@ -23,9 +23,9 @@ "key": "wuguandongzuo_102", "text": "手臂环绕" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "双腿与肩同宽,双臂与肩同高平伸于身体两侧。\n然后双臂进行顺时针绕环活动,之后逆时针绕环。" }, "ticks": 3, @@ -41,9 +41,9 @@ "key": "wuguandongzuo_103", "text": "肩部拉伸" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "一只手臂放于胸前,与地面平行,另一只手臂将它拉向胸部。\n坚持一会儿,再拉伸另一侧肩膀,重复练习。" }, "ticks": 3, @@ -59,9 +59,9 @@ "key": "wuguandongzuo_104", "text": "波比" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "双脚与肩同宽,然后下蹲并双手着地,同时双腿向后蹬直。\n快速做一个俯卧撑的动作,然后起身向上跳起。重复这套动作。" }, "ticks": 3, @@ -77,9 +77,9 @@ "key": "wuguandongzuo_105", "text": "交错俯卧撑" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "从标准的俯卧撑姿势开始,但两只手一前一后。\n双臂做一个俯卧撑的动作,然后换另一只手靠前。注意身体要保持成一条直线的状态。" }, "ticks": 3, @@ -95,9 +95,9 @@ "key": "wuguandongzuo_106", "text": "钻石俯卧撑" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "四肢着地,双手的食指和拇指分别相对,放于脸颊下方。\n身体保持呈一条直线,然后做俯卧撑动作。" }, "ticks": 3, @@ -113,9 +113,9 @@ "key": "wuguandongzuo_107", "text": "掌上压后转身" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "从标准的俯卧撑姿势开始。向下做一个俯卧撑动作,起身的同时,旋转上半身,并将右臂向上伸直。\n然后换另一条手臂重复这一动作。这个动作能够锻炼你的胸部、肩膀和手臂,同时也能锻炼腹部肌肉。" }, "ticks": 3, @@ -131,9 +131,9 @@ "key": "wuguandongzuo_108", "text": "眼镜蛇式拉伸" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "腹部向下俯卧,肘部弯曲,双手放置在肩膀下方。\n然后胸部离地,尽量伸展。保持这个姿势数秒。" }, "ticks": 3, @@ -149,9 +149,9 @@ "key": "wuguandongzuo_109", "text": "胸部拉伸" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "站在门前,腿部呈弓步姿势,两臂倚在门框上,两肘略低于肩膀,胸部慢慢向前移。\n坚持30至40秒。慢慢还原姿势,手臂自然放下,再做几圈摆臂练习。" }, "ticks": 3, @@ -167,9 +167,9 @@ "key": "wuguandongzuo_110", "text": "原地跑" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "原地跑" }, "ticks": 3, @@ -185,9 +185,9 @@ "key": "wuguandongzuo_111", "text": "深蹲" }, - "icon": "wg_js_dz001", + "icon": "开合跳", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_开合跳", "text": "深蹲" }, "ticks": 3, @@ -203,9 +203,9 @@ "key": "wuguandongzuo_112", "text": "仰卧起坐" }, - "icon": "wg_js_dz001", + "icon": "手臂环绕", "des": { - "key": "wuguandongzuo_wg_js_dz001", + "key": "wuguandongzuo_手臂环绕", "text": "仰卧起坐" }, "ticks": 3, diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index 8d4c0aeb6..9f777ec87 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -6192,7 +6192,7 @@ { "Id": 224004311, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6215,7 +6215,7 @@ { "Id": 224004312, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6239,7 +6239,7 @@ { "Id": 224004313, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6263,7 +6263,7 @@ { "Id": 224004321, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6286,7 +6286,7 @@ { "Id": 224004331, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6309,7 +6309,7 @@ { "Id": 224004341, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6332,7 +6332,7 @@ { "Id": 224004351, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -6355,7 +6355,7 @@ { "Id": 224004361, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 1, @@ -13566,7 +13566,7 @@ { "Id": 214001112, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", "Limit": 10, diff --git a/bin/json/game_skillbuff.json b/bin/json/game_skillbuff.json index 1dced6dff..e5e119e09 100644 --- a/bin/json/game_skillbuff.json +++ b/bin/json/game_skillbuff.json @@ -21,6 +21,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z009", "buffeffect": "", "buffpos": "根节点" @@ -47,6 +48,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z003", "buffeffect": "", "buffpos": "根节点" @@ -73,6 +75,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z011", "buffeffect": "", "buffpos": "根节点" @@ -99,6 +102,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z006", "buffeffect": "", "buffpos": "根节点" @@ -125,6 +129,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z008", "buffeffect": "", "buffpos": "根节点" @@ -151,6 +156,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j016", "buffeffect": "", "buffpos": "根节点" @@ -177,6 +183,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j001", "buffeffect": "", "buffpos": "根节点" @@ -203,6 +210,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j006", "buffeffect": "", "buffpos": "根节点" @@ -229,6 +237,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -255,6 +264,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -281,6 +291,7 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -307,6 +318,7 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -333,6 +345,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j009", "buffeffect": "", "buffpos": "根节点" @@ -359,6 +372,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j005", "buffeffect": "", "buffpos": "根节点" @@ -383,6 +397,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z007", "buffeffect": "", "buffpos": "根节点" @@ -409,6 +424,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z002", "buffeffect": "", "buffpos": "根节点" @@ -433,6 +449,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j007", "buffeffect": "effect_debuff_yun", "buffpos": "根节点" @@ -457,8 +474,9 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j008", - "buffeffect": "effect_jiaoxia_jiaobing\u00A0", + "buffeffect": "effect_jiaoxia_jiaobing", "buffpos": "脚底" }, { @@ -481,6 +499,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j012", "buffeffect": "", "buffpos": "根节点" @@ -505,6 +524,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j015", "buffeffect": "", "buffpos": "根节点" @@ -529,6 +549,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j004", "buffeffect": "", "buffpos": "根节点" @@ -553,6 +574,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j010", "buffeffect": "", "buffpos": "根节点" @@ -577,6 +599,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z005", "buffeffect": "", "buffpos": "根节点" @@ -605,9 +628,10 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", "buffeffect": "effect_hudun_1", - "buffpos": "根节点" + "buffpos": "胸" }, { "Id": 390001113, @@ -629,6 +653,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -653,6 +678,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -677,6 +703,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j013", "buffeffect": "", "buffpos": "根节点" @@ -701,6 +728,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -725,6 +753,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -749,6 +778,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j014", "buffeffect": "effect_debuff_sleep", "buffpos": "根节点" @@ -773,6 +803,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts003", "buffeffect": "", "buffpos": "根节点" @@ -797,6 +828,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts004", "buffeffect": "", "buffpos": "根节点" @@ -821,6 +853,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts005", "buffeffect": "", "buffpos": "根节点" @@ -849,9 +882,10 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001123, @@ -877,9 +911,10 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001124, @@ -901,6 +936,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -929,6 +965,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", "buffeffect": "", "buffpos": "根节点" @@ -953,6 +990,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -977,6 +1015,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z004", "buffeffect": "effect_34002_skill_1_hit", "buffpos": "胸" @@ -1001,6 +1040,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z001", "buffeffect": "", "buffpos": "根节点" @@ -1029,9 +1069,10 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001130, @@ -1057,9 +1098,10 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001201, @@ -1081,6 +1123,7 @@ "RemoveType": false, "OverlayTimes": 10, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts003", "buffeffect": "", "buffpos": "根节点" @@ -1108,6 +1151,7 @@ "RemoveType": false, "OverlayTimes": 10, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts004", "buffeffect": "effect_14001_skill_2", "buffpos": "根节点" @@ -1132,6 +1176,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts005", "buffeffect": "", "buffpos": "根节点" @@ -1156,6 +1201,7 @@ "RemoveType": false, "OverlayTimes": 8, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1180,6 +1226,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1204,6 +1251,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts007", "buffeffect": "", "buffpos": "根节点" @@ -1230,6 +1278,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts007", "buffeffect": "", "buffpos": "根节点" @@ -1254,6 +1303,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts001", "buffeffect": "", "buffpos": "根节点" @@ -1280,6 +1330,7 @@ "RemoveType": false, "OverlayTimes": 5, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts002", "buffeffect": "", "buffpos": "根节点" @@ -1304,6 +1355,7 @@ "RemoveType": false, "OverlayTimes": 5, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1331,6 +1383,7 @@ "RemoveType": false, "OverlayTimes": 50, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts008", "buffeffect": "", "buffpos": "根节点" @@ -1357,6 +1410,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j002", "buffeffect": "", "buffpos": "根节点" @@ -1381,6 +1435,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -1407,6 +1462,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z011", "buffeffect": "", "buffpos": "根节点" @@ -1431,6 +1487,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -1455,6 +1512,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -1481,6 +1539,7 @@ "RemoveType": false, "OverlayTimes": 8, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -1507,6 +1566,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1533,6 +1593,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1559,6 +1620,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1585,6 +1647,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1611,6 +1674,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1637,6 +1701,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1663,6 +1728,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1689,6 +1755,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1715,6 +1782,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1741,6 +1809,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1767,6 +1836,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1793,6 +1863,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1819,6 +1890,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1845,6 +1917,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1871,6 +1944,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1897,6 +1971,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1923,6 +1998,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1949,6 +2025,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -1975,6 +2052,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2001,6 +2079,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2027,6 +2106,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2053,6 +2133,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2079,6 +2160,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2105,6 +2187,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2131,6 +2214,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2157,6 +2241,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2183,6 +2268,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2209,6 +2295,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j003", "buffeffect": "effect_debuff_zhongdu", "buffpos": "Bip001" @@ -2235,6 +2322,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2261,6 +2349,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2285,6 +2374,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j011", "buffeffect": "", "buffpos": "根节点" @@ -2312,6 +2402,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2338,6 +2429,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2364,6 +2456,7 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2391,6 +2484,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2417,6 +2511,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2443,6 +2538,7 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2469,6 +2565,7 @@ "RemoveType": true, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2495,6 +2592,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2519,6 +2617,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2545,6 +2644,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2571,6 +2671,7 @@ "RemoveType": true, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2595,6 +2696,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2621,6 +2723,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2647,6 +2750,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2675,9 +2779,10 @@ "RemoveType": true, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001421, @@ -2699,6 +2804,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2725,6 +2831,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2751,6 +2858,7 @@ "RemoveType": true, "OverlayTimes": 10, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -2775,6 +2883,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2801,6 +2910,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2825,6 +2935,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2851,6 +2962,7 @@ "RemoveType": false, "OverlayTimes": 5, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2877,6 +2989,7 @@ "RemoveType": false, "OverlayTimes": 99, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2901,6 +3014,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -2925,6 +3039,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j011", "buffeffect": "", "buffpos": "根节点" @@ -2951,6 +3066,7 @@ "RemoveType": true, "OverlayTimes": 99, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z006", "buffeffect": "", "buffpos": "根节点" @@ -2975,6 +3091,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j011", "buffeffect": "", "buffpos": "根节点" @@ -2999,6 +3116,7 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_j011", "buffeffect": "", "buffpos": "根节点" @@ -3027,9 +3145,10 @@ "RemoveType": true, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", - "buffeffect": "", - "buffpos": "根节点" + "buffeffect": "effect_hudun_1", + "buffpos": "胸" }, { "Id": 390001435, @@ -3051,6 +3170,7 @@ "RemoveType": false, "OverlayTimes": 3, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", "buffeffect": "", "buffpos": "根节点" @@ -3077,6 +3197,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z010", "buffeffect": "", "buffpos": "根节点" @@ -3103,6 +3224,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -3129,6 +3251,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z003", "buffeffect": "", "buffpos": "根节点" @@ -3155,6 +3278,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z006", "buffeffect": "", "buffpos": "根节点" @@ -3181,6 +3305,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "ty_zd_buff_z008", "buffeffect": "", "buffpos": "根节点" @@ -3207,6 +3332,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -3233,6 +3359,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "根节点" @@ -3260,6 +3387,7 @@ "RemoveType": false, "OverlayTimes": 0, "SameID": false, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" @@ -3286,6 +3414,7 @@ "RemoveType": false, "OverlayTimes": 1, "SameID": true, + "golbalbufficon": "", "buffIcon": "", "buffeffect": "", "buffpos": "" diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json index c202cd671..aae9609c8 100644 --- a/bin/json/game_skillpassive.json +++ b/bin/json/game_skillpassive.json @@ -778,7 +778,7 @@ "When": 3, "FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10", "TargetCheck": "Target=2", - "MainSkillCheck": "114001311", + "MainSkillCheck": "MainSkillID=114001311", "AfterSkillCheck": "", "BuffCheck": "", "AddCon": [], diff --git a/modules/parkour/api_changemts.go b/modules/parkour/api_changemts.go index c014fd3d6..951ada26a 100644 --- a/modules/parkour/api_changemts.go +++ b/modules/parkour/api_changemts.go @@ -14,6 +14,7 @@ func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourCh func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( info *pb.DBParkour + team *pb.DBParkour err error ) if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success { @@ -28,9 +29,47 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM return } info.Dfmount = req.Mtsid - this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ - "dfmount": info.Dfmount, - }) - session.SendMsg(string(this.module.GetType()), "avoid", &pb.ParkourAvoidResp{}) + + if info.Captainid != "" { + if info.Captainid == session.GetUserId() { + for _, v := range info.Member { + if v.Uid == session.GetUserId() { + v.Mount = info.Dfmount + } + } + if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "dfmount": info.Dfmount, + "member": info.Member, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + } else { + if team, err = this.module.parkourComp.queryinfo(info.Captainid); err != nil { + code = pb.ErrorCode_DBError + return + } + for _, v := range team.Member { + if v.Uid == session.GetUserId() { + v.Mount = info.Dfmount + } + } + if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{ + "member": team.Member, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + } + } else { + if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ + "dfmount": info.Dfmount, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + } + + session.SendMsg(string(this.module.GetType()), "changemts", &pb.ParkourChangeMtsResp{Issucc: true, Mtsid: req.Mtsid}) return } diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index 6db6073e1..5e3d45222 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -43,7 +43,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) } //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { - info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Isai: true}) + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Isai: true}) } else { if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { code = pb.ErrorCode_DBError @@ -62,7 +62,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) } } if !ok { - info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name}) + info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar}) } this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice", &pb.ParkourInviteNoticePush{Team: info, State: 1}, req.Uid) diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go index 274c11d20..71684951c 100644 --- a/modules/parkour/api_invitehandle.go +++ b/modules/parkour/api_invitehandle.go @@ -15,6 +15,7 @@ func (this *apiComp) InviteHandleCheck(session comm.IUserSession, req *pb.Parkou ///邀请组队 func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInviteHandleReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( + info *pb.DBParkour tean *pb.DBParkour invite *pb.DBRaceInvite member *pb.DBRaceMember @@ -25,6 +26,10 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi if code = this.InviteHandleCheck(session, req); code != pb.ErrorCode_Success { return } + if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil { code = pb.ErrorCode_DBError return @@ -48,7 +53,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi for i, v := range tean.Member { users[i] = v.Uid } - member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name} + member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount} tean.Captainid = tean.Uid tean.Member = append(tean.Member, member) if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ diff --git a/modules/parkour/module.go b/modules/parkour/module.go index 5fd0e2fb9..15d334f78 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -119,6 +119,7 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu } for _, v := range req.Red { + v.Hp = 6 if !v.Isai { //非AI session, online := this.GetUserSession(v.Uid) v.Isoff = !online @@ -128,8 +129,10 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu } } + sessions = append(sessions, battle.RedSession...) battle.RedMember = req.Red for _, v := range req.Bule { + v.Hp = 6 if !v.Isai { //非AI session, online := this.GetUserSession(v.Uid) v.Isoff = !online @@ -138,6 +141,7 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu } } } + sessions = append(sessions, battle.BuleSession...) battle.BuleMember = req.Bule if err = this.raceComp.addrace(race); err != nil { return @@ -145,7 +149,7 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu this.lock.Lock() this.battles[race.Id] = battle this.lock.Unlock() - if err = this.SendMsgToSession(string(comm.ModulePvp), "racematchsucc", &pb.ParkourRaceMatchSuccPush{ + if err = this.SendMsgToSession(string(this.GetType()), "racematchsucc", &pb.ParkourRaceMatchSuccPush{ Race: race, }, sessions...); err != nil { this.Errorln(err) @@ -189,7 +193,7 @@ func (this *Parkour) shot(id string, uid string) { if ok { sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{ + if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{ Countdown: 3, }, sessions...); err != nil { this.Errorln(err) @@ -211,7 +215,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { if ok { sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{ + if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{ Countdown: 3, }, sessions...); err != nil { this.Errorln(err) @@ -239,7 +243,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { this.raceComp.delrace(id) sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceOverPush{ + if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceOverPush{ Race: &pb.DBRace{ Id: battle.Id, }, diff --git a/sys/configure/structs/Game.FavorabilityData.go b/sys/configure/structs/Game.FavorabilityData.go index 2b5fffaae..bae6ca2f1 100644 --- a/sys/configure/structs/Game.FavorabilityData.go +++ b/sys/configure/structs/Game.FavorabilityData.go @@ -27,8 +27,7 @@ type GameFavorabilityData struct { OrdinaryTxt string DislikingTxt string Favorlv []int32 - BiographyName []string - BiographyTxt []string + BiographyName []int32 BiographyReward1 []*Gameatn BiographyReward2 []*Gameatn BiographyReward3 []*Gameatn @@ -120,29 +119,15 @@ func (_v *GameFavorabilityData)Deserialize(_buf map[string]interface{}) (err err var _ok_ bool if _arr_, _ok_ = _buf["biography_name"].([]interface{}); !_ok_ { err = errors.New("biography_name error"); return } - _v.BiographyName = make([]string, 0, len(_arr_)) + _v.BiographyName = make([]int32, 0, len(_arr_)) for _, _e_ := range _arr_ { - var _list_v_ string - { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } _v.BiographyName = append(_v.BiographyName, _list_v_) } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["biography_txt"].([]interface{}); !_ok_ { err = errors.New("biography_txt error"); return } - - _v.BiographyTxt = make([]string, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ string - { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } - _v.BiographyTxt = append(_v.BiographyTxt, _list_v_) - } - } - { var _arr_ []interface{} var _ok_ bool diff --git a/sys/configure/structs/Game.FriendsData.go b/sys/configure/structs/Game.FriendsData.go index 2bbee09aa..afd00823f 100644 --- a/sys/configure/structs/Game.FriendsData.go +++ b/sys/configure/structs/Game.FriendsData.go @@ -19,7 +19,7 @@ type GameFriendsData struct { Png string FriendsLv int32 FavorabilityLv int32 - Hid int32 + Hid string Attribute []*Gameatr AttributeTxt string } @@ -39,7 +39,7 @@ func (_v *GameFriendsData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; if _v.Png, _ok_ = _buf["png"].(string); !_ok_ { err = errors.New("png error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friends_lv"].(float64); !_ok_ { err = errors.New("friends_lv error"); return }; _v.FriendsLv = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_lv"].(float64); !_ok_ { err = errors.New("favorability_lv error"); return }; _v.FavorabilityLv = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) } + { var _ok_ bool; if _v.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } } { var _arr_ []interface{} var _ok_ bool diff --git a/sys/configure/structs/game.coinData.go b/sys/configure/structs/game.coinData.go index b72ccc6e7..9066ab081 100644 --- a/sys/configure/structs/game.coinData.go +++ b/sys/configure/structs/game.coinData.go @@ -33,7 +33,7 @@ func (_v *GameCoinData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) } { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } - { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } return } diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go index 5cc3afaef..22c982fca 100644 --- a/sys/configure/structs/game.globalData.go +++ b/sys/configure/structs/game.globalData.go @@ -212,6 +212,8 @@ type GameGlobalData struct { BusinessBag int32 BusinessRewardday int32 BusinessRenovatething int32 + FavorabilityLikes int32 + FavorabilityDislikes int32 } const TypeId_GameGlobalData = 477542761 @@ -838,6 +840,8 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["business_bag"].(float64); !_ok_ { err = errors.New("business_bag error"); return }; _v.BusinessBag = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["business_rewardday"].(float64); !_ok_ { err = errors.New("business_rewardday error"); return }; _v.BusinessRewardday = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["business_renovatething"].(float64); !_ok_ { err = errors.New("business_renovatething error"); return }; _v.BusinessRenovatething = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_likes"].(float64); !_ok_ { err = errors.New("favorability_likes error"); return }; _v.FavorabilityLikes = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_dislikes"].(float64); !_ok_ { err = errors.New("favorability_dislikes error"); return }; _v.FavorabilityDislikes = int32(_tempNum_) } return } diff --git a/sys/configure/structs/game.skillBuffData.go b/sys/configure/structs/game.skillBuffData.go index 48d5715db..0ad0b1d91 100644 --- a/sys/configure/structs/game.skillBuffData.go +++ b/sys/configure/structs/game.skillBuffData.go @@ -24,6 +24,7 @@ type GameSkillBuffData struct { RemoveType bool OverlayTimes byte SameID bool + Golbalbufficon string BuffIcon string Buffeffect string Buffpos string @@ -88,6 +89,7 @@ func (_v *GameSkillBuffData)Deserialize(_buf map[string]interface{}) (err error) { var _ok_ bool; if _v.RemoveType, _ok_ = _buf["RemoveType"].(bool); !_ok_ { err = errors.New("RemoveType error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["OverlayTimes"].(float64); !_ok_ { err = errors.New("OverlayTimes error"); return }; _v.OverlayTimes = byte(_tempNum_) } { var _ok_ bool; if _v.SameID, _ok_ = _buf["SameID"].(bool); !_ok_ { err = errors.New("SameID error"); return } } + { var _ok_ bool; if _v.Golbalbufficon, _ok_ = _buf["golbalbufficon"].(string); !_ok_ { err = errors.New("golbalbufficon error"); return } } { var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["buffIcon"].(string); !_ok_ { err = errors.New("buffIcon error"); return } } { var _ok_ bool; if _v.Buffeffect, _ok_ = _buf["buffeffect"].(string); !_ok_ { err = errors.New("buffeffect error"); return } } { var _ok_ bool; if _v.Buffpos, _ok_ = _buf["buffpos"].(string); !_ok_ { err = errors.New("buffpos error"); return } } From 50d5b3409afbc6eda22aef36a8de1d8ada9fc888 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 13:53:48 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=AD=A6=E9=A6=86?= =?UTF-8?q?=E8=B8=A2=E9=A6=86=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/parkour/ai.go | 219 +++++++++++++++++++++++++++++++ modules/parkour/core.go | 31 +++++ modules/parkour/module.go | 2 + modules/practice/modelPandata.go | 13 +- modules/practice/module.go | 10 +- 5 files changed, 267 insertions(+), 8 deletions(-) create mode 100644 modules/parkour/ai.go diff --git a/modules/parkour/ai.go b/modules/parkour/ai.go new file mode 100644 index 000000000..a48528ec4 --- /dev/null +++ b/modules/parkour/ai.go @@ -0,0 +1,219 @@ +package parkour + +import ( + "fmt" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/core/cbase" + "go_dreamfactory/lego/sys/timewheel" + "go_dreamfactory/pb" + "math/rand" + "sync" + "time" +) + +/* +AI 逻辑组件 +*/ +type aiComp struct { + cbase.ModuleCompBase + service core.IService + module *Parkour + lock sync.RWMutex + ais map[string][]*AI + handleS []AIHandleType + handleSS []AIHandleType + handleSSS []AIHandleType +} + +//组件初始化接口 +func (this *aiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.ModuleCompBase.Init(service, module, comp, options) + this.module = module.(*Parkour) + this.service = service + this.ais = make(map[string][]*AI) + this.handleS = make([]AIHandleType, 100) + this.handleSS = make([]AIHandleType, 100) + this.handleSSS = make([]AIHandleType, 100) + this.inithandle() + return +} + +func (this *aiComp) Start() (err error) { + err = this.ModuleCompBase.Start() + timewheel.AddCron(time.Second*3, this.aihandle) + return +} + +func (this *aiComp) inithandle() { + var index int32 + //AILevelS + for i := 0; i < 40; i++ { //失败躲避次数 40 + this.handleS[index] = AIHandle_Avoid0 + index++ + } + for i := 0; i < 10; i++ { //成功躲避次数 10 + this.handleS[index] = AIHandle_Avoid1 + index++ + } + for i := 0; i < 5; i++ { //完美躲避次数 5 + this.handleS[index] = AIHandle_Avoid2 + index++ + } + for i := 0; i < 7; i++ { //射门失败次数 5 + this.handleS[index] = AIHandle_Shots0 + index++ + } + for i := 0; i < 3; i++ { //射门成功次数 3 + this.handleS[index] = AIHandle_Shots1 + index++ + } + index = 0 + //AILevelSS + for i := 0; i < 30; i++ { //失败躲避次数 30 + this.handleSS[index] = AIHandle_Avoid0 + index++ + } + for i := 0; i < 20; i++ { //成功躲避次数 20 + this.handleSS[index] = AIHandle_Avoid1 + index++ + } + for i := 0; i < 10; i++ { //完美躲避次数 10 + this.handleSS[index] = AIHandle_Avoid2 + index++ + } + for i := 0; i < 5; i++ { //射门失败次数 5 + this.handleSS[index] = AIHandle_Shots0 + index++ + } + for i := 0; i < 5; i++ { //射门成功次数 5 + this.handleSS[index] = AIHandle_Shots1 + index++ + } + + index = 0 + //AILevelSSS + for i := 0; i < 10; i++ { //失败躲避次数 10 + this.handleSSS[index] = AIHandle_Avoid0 + index++ + } + for i := 0; i < 30; i++ { //成功躲避次数 30 + this.handleSSS[index] = AIHandle_Avoid1 + index++ + } + for i := 0; i < 15; i++ { //完美躲避次数 15 + this.handleSSS[index] = AIHandle_Avoid2 + index++ + } + for i := 0; i < 2; i++ { //射门失败次数 2 + this.handleSSS[index] = AIHandle_Shots0 + index++ + } + for i := 0; i < 8; i++ { //射门成功次数 8 + this.handleSSS[index] = AIHandle_Shots1 + index++ + } +} + +//创建战斗ai +func (this *aiComp) createAi(battleid string, users []*pb.DBRaceMember) (err error) { + var ( + ok bool + ais []*AI + r *rand.Rand = rand.New(rand.NewSource(time.Now().Unix())) + ) + if battleid == "" || users == nil || len(users) == 0 { + err = fmt.Errorf("battleid:%s users:%v parameter exceptions", battleid, users) + return + } + + this.lock.RLock() + _, ok = this.ais[battleid] + this.lock.RUnlock() + if ok { + err = fmt.Errorf("battle:%s already exists", battleid) + return + } + ais = make([]*AI, len(users)) + for i, v := range users { + ais[i] = &AI{ + BattleId: battleid, + UId: v.Uid, + AILevel: AILevelS, + Handle: make([]AIHandleType, 100), + LastTime: time.Now(), + } + switch ais[i].AILevel { + case AILevelS: + ais[i].Interval = time.Second*10 + time.Second*time.Duration(rand.Int31n(5)) + for ii, vv := range r.Perm(len(this.handleS)) { + ais[i].Handle[ii] = this.handleS[vv] + } + break + case AILevelSS: + ais[i].Interval = time.Second*5 + time.Second*time.Duration(rand.Int31n(5)) + for ii, vv := range r.Perm(len(this.handleSS)) { + ais[i].Handle[ii] = this.handleSS[vv] + } + break + case AILevelSSS: + ais[i].Interval = time.Second*3 + time.Second*time.Duration(rand.Int31n(3)) + for ii, vv := range r.Perm(len(this.handleSSS)) { + ais[i].Handle[ii] = this.handleSSS[vv] + } + break + } + } + this.lock.Lock() + this.ais[battleid] = ais + this.lock.Unlock() + return +} + +//移除AI +func (this *aiComp) removeAi(battleid string) { + this.lock.Lock() + delete(this.ais, battleid) + this.lock.Unlock() +} + +//ai自动化 +func (this *aiComp) aihandle(task *timewheel.Task, args ...interface{}) { + var ( + ok bool + ais map[string][]*AI = make(map[string][]*AI) + ) + this.lock.RLock() + if len(this.ais) > 0 { + ok = true + for k, v := range this.ais { + ais[k] = v + } + } + this.lock.RUnlock() + if ok { + for id, member := range ais { + for _, ai := range member { + if time.Now().Sub(ai.LastTime) > ai.Interval { + switch ai.Handle[ai.CurrIndex] { + case AIHandle_Avoid0: //躲避障碍 失败 + go this.module.avoid(id, ai.UId, -1) + break + case AIHandle_Avoid1: //躲避障碍 成功 + go this.module.avoid(id, ai.UId, 3) + break + case AIHandle_Avoid2: //躲避障碍 完美 + go this.module.avoid(id, ai.UId, 1) + break + case AIHandle_Shots0: //射门 失败 + break + case AIHandle_Shots1: //射门 成功 + go this.module.shot(id, ai.UId) + break + } + ai.CurrIndex++ + ai.CurrIndex = ai.CurrIndex % int32(len(ai.Handle)) + } + } + } + } +} diff --git a/modules/parkour/core.go b/modules/parkour/core.go index ee7f9d908..57eccd4e2 100644 --- a/modules/parkour/core.go +++ b/modules/parkour/core.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/lego/sys/timewheel" "go_dreamfactory/pb" "sync" + "time" ) ///捕羊大赛对象 @@ -17,3 +18,33 @@ type RaceItem struct { BuleSession []comm.IUserSession //蓝方会话 overtimer *timewheel.Task //准备倒计时定时器 } + +type AILevel int32 + +const ( + AILevelS AILevel = iota + AILevelSS + AILevelSSS +) + +type AIHandleType int32 + +const ( + AIHandle_Null AIHandleType = iota //空操作 + AIHandle_Avoid0 //躲避障碍 失败 + AIHandle_Avoid1 //躲避障碍 成功 + AIHandle_Avoid2 //躲避障碍 完美 + AIHandle_Shots0 //射门 失败 + AIHandle_Shots1 //射门 成功 +) + +//捕羊大赛AI对象 +type AI struct { + BattleId string //战场id + UId string //用户id + AILevel AILevel //AI级别 + Handle []AIHandleType //操作列表 + CurrIndex int32 //当前执行下标 + LastTime time.Time //上一次操作时间 + Interval time.Duration //最小操作时间 +} diff --git a/modules/parkour/module.go b/modules/parkour/module.go index 15d334f78..5a1a32054 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -30,6 +30,7 @@ type Parkour struct { modules.ModuleBase service base.IRPCXService api *apiComp + ai *aiComp configure *configureComp parkourComp *ModelParkourComp raceComp *ModelRaceComp @@ -60,6 +61,7 @@ func (this *Parkour) Start() (err error) { func (this *Parkour) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api = this.RegisterComp(new(apiComp)).(*apiComp) + this.ai = this.RegisterComp(new(aiComp)).(*aiComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp) this.raceComp = this.RegisterComp(new(ModelRaceComp)).(*ModelRaceComp) diff --git a/modules/practice/modelPandata.go b/modules/practice/modelPandata.go index 7cde7fa19..9fc7c1b5c 100644 --- a/modules/practice/modelPandata.go +++ b/modules/practice/modelPandata.go @@ -7,6 +7,7 @@ import ( "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "go.mongodb.org/mongo-driver/bson/primitive" @@ -51,6 +52,8 @@ func (this *modelPandata) queryUserMartialhall(uid string) (result *pb.DBPractic Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1}, Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 0, Lv: 1}, Statuers: make([]*pb.DBPracticeStatuer, 0), + Npcstate: 3, + Refresh: configure.Now().Unix(), } if err = this.refreshnpc(result); err != nil { this.module.Errorln(err) @@ -90,11 +93,13 @@ func (this *modelPandata) queryrooms(uids []string) (results []*pb.DBPracticeRoo Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1}, Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 2, Lv: 1}, Statuers: make([]*pb.DBPracticeStatuer, 0), + Npcstate: 3, + Refresh: configure.Now().Unix(), } - if err = this.refreshnpc(temp); err != nil { - this.module.Errorln(err) - continue - } + // if err = this.refreshnpc(temp); err != nil { + // this.module.Errorln(err) + // continue + // } go this.module.atlas.CheckActivatePandaAtlasCollect(v, "100001") newdata[v] = temp } diff --git a/modules/practice/module.go b/modules/practice/module.go index 5b681dacb..824a0e5da 100644 --- a/modules/practice/module.go +++ b/modules/practice/module.go @@ -136,6 +136,8 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32 Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1}, Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 0, Lv: 1}, Statuers: make([]*pb.DBPracticeStatuer, 0), + Npcstate: 3, + Refresh: configure.Now().Unix(), } id = make([]string, 0) for k, _ := range items { @@ -143,10 +145,10 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32 id = append(id, k) this.atlas.CheckActivatePandaAtlasCollect(session.GetUserId(), k) } - if err = this.modelPandata.refreshnpc(room); err != nil { - this.Errorln(err) - return - } + // if err = this.modelPandata.refreshnpc(room); err != nil { + // this.Errorln(err) + // return + // } if err = model.Add(session.GetUserId(), room); err != nil { this.Errorln(err) return From 2a70daf1ef4dd2c86837b3c63b9d77472c0727d4 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 14:40:13 +0800 Subject: [PATCH 07/22] =?UTF-8?q?update=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_rdtaskcondi.json | 104 +++- bin/json/game_worldtask.json | 932 ++++++++++++++------------------- 2 files changed, 499 insertions(+), 537 deletions(-) diff --git a/bin/json/game_rdtaskcondi.json b/bin/json/game_rdtaskcondi.json index 1ca51326d..2d97599b4 100644 --- a/bin/json/game_rdtaskcondi.json +++ b/bin/json/game_rdtaskcondi.json @@ -1748,7 +1748,7 @@ "type_sp": 1, "tasktxt": { "key": "308_taskcond", - "text": "通关维京远征难度1" + "text": "和戈伯聊聊,并通关维京远征难度1" }, "type": 73, "valid": 0, @@ -1764,7 +1764,7 @@ "type_sp": 1, "tasktxt": { "key": "309_taskcond", - "text": "通关维京远征难度1" + "text": "和戈伯聊聊,并通关维京远征难度1" }, "type": 73, "valid": 0, @@ -5757,7 +5757,7 @@ "data2": 602, "data3": 0, "data4": 0, - "data5": 10011 + "data5": 0 }, { "id": 20002, @@ -5773,6 +5773,102 @@ "data2": 432, "data3": 0, "data4": 0, - "data5": 10021 + "data5": 0 + }, + { + "id": 30001, + "type_sp": 1, + "tasktxt": { + "key": "30001_tasktxt", + "text": "和盖进行对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70010, + "data1": 1, + "data2": 9010, + "data3": 0, + "data4": 0, + "data5": 0 + }, + { + "id": 30002, + "type_sp": 1, + "tasktxt": { + "key": "30002_tasktxt", + "text": "和格林森对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70020, + "data1": 1, + "data2": 9020, + "data3": 0, + "data4": 0, + "data5": 0 + }, + { + "id": 30003, + "type_sp": 1, + "tasktxt": { + "key": "30003_tasktxt", + "text": "和戈伯对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70030, + "data1": 1, + "data2": 9030, + "data3": 0, + "data4": 0, + "data5": 0 + }, + { + "id": 30004, + "type_sp": 1, + "tasktxt": { + "key": "30004_tasktxt", + "text": "和瓦希尔指挥官对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70040, + "data1": 1, + "data2": 9040, + "data3": 0, + "data4": 0, + "data5": 0 + }, + { + "id": 30005, + "type_sp": 1, + "tasktxt": { + "key": "30005_tasktxt", + "text": "和小伊对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70050, + "data1": 1, + "data2": 9050, + "data3": 0, + "data4": 0, + "data5": 0 + }, + { + "id": 30006, + "type_sp": 1, + "tasktxt": { + "key": "30006_tasktxt", + "text": "和鼻涕粗对话" + }, + "type": 20001, + "valid": 1, + "NPC": 70060, + "data1": 1, + "data2": 9060, + "data3": 0, + "data4": 0, + "data5": 0 } ] \ No newline at end of file diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 6853aa542..6bd829600 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -9,40 +9,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_1", + "key": "Mainline_Tasks1_1", "text": "初来乍到" }, - "task_display": { - "key": "story_80", - "text": "剧情ID:601-603" - }, "npctxt": { - "key": "story_80", + "key": "Mainline_Tasks1_1_Receiving", "text": "寻找熊猫" }, "npc": 10010, "completetasktxt": { - "key": "story_80", - "text": "和骇客蛛对话" + "key": "Mainline_Tasks1_1_Receiving", + "text": "寻找熊猫" }, "completetask": [ 20001 ], "deliver_npctxt": { - "key": "story_80", - "text": "发光的石头(目前是假山代替)" + "key": "Mainline_Tasks1_1_Receiving", + "text": "寻找熊猫" }, - "deliver_npc": 10012, + "deliver_npc": 0, "auto_accept": 1, "reword": [ { - "a": "item", - "t": "110001", - "n": 100 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -57,40 +53,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_2", - "text": "主线任务2" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:604-606" + "key": "Mainline_Tasks1_2", + "text": "参观中轴城" }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_2_Receiving", + "text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。" }, "npc": 10020, "completetasktxt": { - "key": "story_80", - "text": "和邦尼兔对话" + "key": "Mainline_Tasks1_2_Receiving", + "text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。" }, "completetask": [ - 20002 + 0 ], "deliver_npctxt": { - "key": "story_80", - "text": "熊猫" + "key": "Mainline_Tasks1_2_Receiving", + "text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。" }, - "deliver_npc": 10022, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 101 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -105,40 +97,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_3", - "text": "主线任务3" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:607-609" + "key": "Mainline_Tasks1_3", + "text": "邦尼兔的质疑" }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_3_Receiving", + "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" }, - "npc": 10030, + "npc": 10021, "completetasktxt": { - "key": "story_80", - "text": "尝试挑战邦尼兔" + "key": "Mainline_Tasks1_3_Receiving", + "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" }, "completetask": [ 174 ], "deliver_npctxt": { - "key": "story_80", - "text": "邦尼兔" + "key": "Mainline_Tasks1_3_Receiving", + "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" }, - "deliver_npc": 10032, + "deliver_npc": 10030, "auto_accept": 0, "reword": [ { "a": "item", - "t": "110001", - "n": 102 + "t": "30001", + "n": 1 } ], "module": [] @@ -153,40 +141,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_4", - "text": "主线任务4" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:611-612" + "key": "Mainline_Tasks1_4", + "text": "可疑之人" }, "npctxt": { - "key": "story_80", - "text": "寻找邦尼兔" + "key": "Mainline_Tasks1_4_Receiving", + "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" }, - "npc": 10040, + "npc": 10031, "completetasktxt": { - "key": "story_80", - "text": "招募一次守护者" + "key": "Mainline_Tasks1_4_Receiving", + "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" }, "completetask": [ 114 ], "deliver_npctxt": { - "key": "story_80", - "text": "熊猫" + "key": "Mainline_Tasks1_4_Receiving", + "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" }, - "deliver_npc": 10041, + "deliver_npc": 10032, "auto_accept": 0, "reword": [ { "a": "item", - "t": "110001", - "n": 103 + "t": "600002", + "n": 5 } ], "module": [] @@ -201,40 +185,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_5", - "text": "主线任务5" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:613-614" + "key": "Mainline_Tasks1_5", + "text": "熊猫武馆" }, "npctxt": { - "key": "story_80", - "text": "寻找乌龟大师" + "key": "Mainline_Tasks1_5_Receiving", + "text": "在熊猫武馆细细搜索,或许会有意外收获。" }, "npc": 103, "completetasktxt": { - "key": "story_80", - "text": "调查这些木桩" + "key": "Mainline_Tasks1_5_Receiving", + "text": "在熊猫武馆细细搜索,或许会有意外收获。" }, "completetask": [ 203 ], "deliver_npctxt": { - "key": "story_80", - "text": "邦尼兔" + "key": "Mainline_Tasks1_5_Receiving", + "text": "在熊猫武馆细细搜索,或许会有意外收获。" }, "deliver_npc": 10050, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 104 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -249,40 +229,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_6", - "text": "主线任务6" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:615-617" + "key": "Mainline_Tasks1_6", + "text": "紧急任务" }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_6_Receiving", + "text": "被月中人选中之人,终将为守护而生。" }, "npc": 10060, "completetasktxt": { - "key": "story_80", - "text": "通关主线章节1-5" + "key": "Mainline_Tasks1_6_Receiving", + "text": "被月中人选中之人,终将为守护而生。" }, "completetask": [ - 161 + 0 ], "deliver_npctxt": { - "key": "story_80", - "text": "熊猫" + "key": "Mainline_Tasks1_6_Receiving", + "text": "被月中人选中之人,终将为守护而生。" }, - "deliver_npc": 10061, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 105 + "a": "attr", + "t": "diamond", + "n": 100 } ], "module": [] @@ -297,40 +273,46 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_7", - "text": "主线任务7" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:631-632" + "key": "Mainline_Tasks1_7", + "text": "出发前的叮嘱" }, "npctxt": { - "key": "story_80", - "text": "寻找戈伯" + "key": "Mainline_Tasks1_7_Receiving", + "text": "试炼的终点,是名为勇者的觉醒。" }, "npc": 10070, "completetasktxt": { - "key": "story_80", - "text": "通关维京远征难度1" + "key": "Mainline_Tasks1_7_Receiving", + "text": "试炼的终点,是名为勇者的觉醒。" }, "completetask": [ - 304 + 161 ], "deliver_npctxt": { - "key": "story_80", - "text": "戈伯" + "key": "Mainline_Tasks1_7_Receiving", + "text": "试炼的终点,是名为勇者的觉醒。" }, - "deliver_npc": 10072, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { "a": "item", - "t": "110001", - "n": 106 + "t": "120001", + "n": 5 + }, + { + "a": "item", + "t": "120002", + "n": 5 + }, + { + "a": "item", + "t": "120003", + "n": 5 } ], "module": [] @@ -345,40 +327,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_8", - "text": "主线任务8" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:636-637" + "key": "Mainline_Tasks1_8", + "text": "戈伯铁匠铺" }, "npctxt": { - "key": "story_80", - "text": "寻找骇客蛛" + "key": "Mainline_Tasks1_8_Receiving", + "text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……" }, "npc": 10080, "completetasktxt": { - "key": "story_80", - "text": "通关主线1-6" + "key": "Mainline_Tasks1_8_Receiving", + "text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……" }, "completetask": [ - 305 + 304 ], "deliver_npctxt": { - "key": "story_80", - "text": "食人鱼" + "key": "Mainline_Tasks1_8_Receiving", + "text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……" }, "deliver_npc": 10082, "auto_accept": 0, "reword": [ { "a": "item", - "t": "110001", - "n": 107 + "t": "30001", + "n": 10 } ], "module": [] @@ -393,40 +371,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_9", - "text": "主线任务9" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:638" + "key": "Mainline_Tasks1_9", + "text": "试炼再起" }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_9_Receiving", + "text": "这就是维京人的工艺技术吗,我现在感觉自己的实力确实增长不少。" }, "npc": 10090, "completetasktxt": { - "key": "story_80", - "text": "进行一次10连" + "key": "Mainline_Tasks1_9_Receiving", + "text": "我迫不及待的想要体验新获得的历练了" }, "completetask": [ - 306 + 305 ], "deliver_npctxt": { - "key": "story_80", - "text": "任务结束" + "key": "Mainline_Tasks1_9_Receiving", + "text": "我迫不及待的想要体验新获得的历练了" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 108 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -441,40 +415,36 @@ "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_10", - "text": "主线任务10" - }, - "task_display": { - "key": "story_80", - "text": "剧情ID:640-642" + "key": "Mainline_Tasks1_10", + "text": "归还原石" }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_10_Receiving", + "text": "月光原石回到了它应该在的位置。" }, "npc": 10100, "completetasktxt": { - "key": "story_80", - "text": "打败梦魇!" + "key": "Mainline_Tasks1_10_Receiving", + "text": "月光原石回到了它应该在的位置。" }, "completetask": [ - 307 + 0 ], "deliver_npctxt": { - "key": "story_80", - "text": "邦尼兔" + "key": "Mainline_Tasks1_10_Receiving", + "text": "月光原石回到了它应该在的位置。" }, - "deliver_npc": 10102, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 109 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -484,45 +454,173 @@ "lock": 1, "lockend": 0, "ontxe": 20100, + "id_after": 20120, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_11", + "text": "召唤英雄" + }, + "npctxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "npc": 10110, + "completetasktxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "completetask": [ + 306 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20120, + "lock": 1, + "lockend": 0, + "ontxe": 20110, + "id_after": 20130, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_12", + "text": "梦魇的诞生" + }, + "npctxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "npc": 10120, + "completetasktxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "completetask": [ + 307 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20130, + "lock": 1, + "lockend": 0, + "ontxe": 20120, + "id_after": 20140, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_13", + "text": "" + }, + "npctxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "消失的阴影" + }, + "npc": 10130, + "completetasktxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。" + }, + "completetask": [ + 0 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20140, + "lock": 1, + "lockend": 0, + "ontxe": 20120, "id_after": 0, "group": 210, "des": 2, "icon": "", "task_Tname": { - "key": "Mainline_Tasks", - "text": "第一章:中轴城风云" + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks_11", + "key": "Mainline_Tasks1_11", "text": "敬请期待" }, - "task_display": { - "key": "story_80", - "text": "剧情ID:99999-这是最后一个任务:敬请期待" - }, "npctxt": { - "key": "story_80", - "text": "寻找熊猫" + "key": "Mainline_Tasks1_11", + "text": "敬请期待" }, "npc": 10110, "completetasktxt": { - "key": "story_80", + "key": "Mainline_Tasks1_11", "text": "敬请期待!" }, "completetask": [ 193 ], "deliver_npctxt": { - "key": "story_80", - "text": "熊猫" + "key": "Mainline_Tasks1_11", + "text": "敬请期待!" }, - "deliver_npc": 10110, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 110 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -537,40 +635,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest1", "text": "武馆内勤奋的身影是?" }, "task_name": { - "key": "WuGuanSceneTask_1", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest1_1", + "text": "盖在做什么" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest1_1_Receiving", + "text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。" }, "npc": 70010, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest1_1_Receiving", + "text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest1_1_Receiving", + "text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 110 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -585,40 +679,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest2", "text": "铁匠铺门口身影是?" }, "task_name": { - "key": "SmithyScene_1", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest2_1", + "text": "格里森" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest2_1_Receiving", + "text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?" }, "npc": 70020, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest2_1_Receiving", + "text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest2_1_Receiving", + "text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 111 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -633,40 +723,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", - "text": "戈伯的小心思" + "key": "Side_Quest2", + "text": "铁匠铺门口身影是?" }, "task_name": { - "key": "SmithyScene_1_1", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest2_2", + "text": "戈伯的唠叨" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest2_2_Receiving", + "text": "戈伯在他的铁匠铺里干活,但我现在需要去找他聊聊。" }, "npc": 70021, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest2_2_Receiving", + "text": "戈伯在他的铁匠铺里干活,但我现在需要去找他聊聊。" }, "completetask": [ 308 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest2_2_Receiving", + "text": "戈伯在他的铁匠铺里干活,但我现在需要去找他聊聊。" }, "deliver_npc": 70023, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 112 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -681,40 +767,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest3", "text": "戈伯的嘱托" }, "task_name": { - "key": "SmithyScene_2", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest3_1", + "text": "戈伯在等你" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest3_1_Receiving", + "text": "戈伯有事情找我,我或许该去看看。" }, "npc": 70030, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest3_1_Receiving", + "text": "戈伯有事情找我,我或许该去看看。" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest3_1_Receiving", + "text": "戈伯有事情找我,我或许该去看看。" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 113 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -729,40 +811,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest3", "text": "戈伯的嘱托" }, "task_name": { - "key": "SmithyScene_2_1", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest3_2", + "text": "戈伯的思考" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest3_2_Receiving", + "text": "去找戈伯聊聊,然后再看具体需要做些什么。" }, "npc": 70031, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest3_2_Receiving", + "text": "任务完成了,是时候去找戈伯聊聊了。" }, "completetask": [ 309 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest3_2_Receiving", + "text": "任务完成了,是时候去找戈伯聊聊了。" }, "deliver_npc": 70033, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 114 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -777,40 +855,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest4", "text": "武馆秘闻" }, "task_name": { - "key": "WuGuanSceneTask_2", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest4_1", + "text": "瓦希尔指挥官" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest4_1_Receiving", + "text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看" }, "npc": 70040, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest4_1_Receiving", + "text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest4_1_Receiving", + "text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 115 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -825,40 +899,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest5", "text": "好像有人再看我?" }, "task_name": { - "key": "WuGuanSceneTask_3", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest5_1", + "text": "小伊" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest5_1_Receiving", + "text": "那不是小伊吗,她是在.....练武吗?" }, "npc": 70050, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest5_1_Receiving", + "text": "那不是小伊吗,她是在.....练武吗?" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest5_1_Receiving", + "text": "那不是小伊吗,她是在.....练武吗?" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 116 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -873,40 +943,36 @@ "des": 3, "icon": "", "task_Tname": { - "key": "Side_Quest", + "key": "Side_Quest6", "text": "戈伯的委托" }, "task_name": { - "key": "SmithyScene_3", - "text": "1" - }, - "task_display": { - "key": "story_80", - "text": "1" + "key": "Side_Quest6_1", + "text": "鼻涕粗" }, "npctxt": { - "key": "", - "text": "" + "key": "Side_Quest6_1_Receiving", + "text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?" }, "npc": 70060, "completetasktxt": { - "key": "", - "text": "" + "key": "Side_Quest6_1_Receiving", + "text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?" }, "completetask": [ 0 ], "deliver_npctxt": { - "key": "", - "text": "" + "key": "Side_Quest6_1_Receiving", + "text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?" }, "deliver_npc": 0, "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 117 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -922,16 +988,12 @@ "icon": "", "task_Tname": { "key": "Daily_tasks4", - "text": "1" + "text": "日常任务" }, "task_name": { "key": "Daily_tasks4", "text": "1" }, - "task_display": { - "key": "Daily_tasks4", - "text": "1" - }, "npctxt": { "key": "", "text": "" @@ -952,105 +1014,9 @@ "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 999 - } - ], - "module": [] - }, - { - "key": 100050, - "lock": 6, - "lockend": 20, - "ontxe": 20050, - "id_after": 0, - "group": 114, - "des": 1, - "icon": "", - "task_Tname": { - "key": "Daily_tasks5", - "text": "1" - }, - "task_name": { - "key": "Daily_tasks5", - "text": "1" - }, - "task_display": { - "key": "Daily_tasks5", - "text": "1" - }, - "npctxt": { - "key": "", - "text": "" - }, - "npc": 10010, - "completetasktxt": { - "key": "", - "text": "" - }, - "completetask": [ - 0 - ], - "deliver_npctxt": { - "key": "", - "text": "" - }, - "deliver_npc": 10012, - "auto_accept": 0, - "reword": [ - { - "a": "item", - "t": "110001", - "n": 999 - } - ], - "module": [] - }, - { - "key": 100030, - "lock": 7, - "lockend": 5, - "ontxe": 20070, - "id_after": 0, - "group": 112, - "des": 1, - "icon": "", - "task_Tname": { - "key": "Daily_tasks3", - "text": "1" - }, - "task_name": { - "key": "Daily_tasks3", - "text": "1" - }, - "task_display": { - "key": "Daily_tasks3", - "text": "1" - }, - "npctxt": { - "key": "", - "text": "" - }, - "npc": 10010, - "completetasktxt": { - "key": "", - "text": "" - }, - "completetask": [ - 0 - ], - "deliver_npctxt": { - "key": "", - "text": "" - }, - "deliver_npc": 10012, - "auto_accept": 0, - "reword": [ - { - "a": "item", - "t": "110001", - "n": 999 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] @@ -1058,7 +1024,7 @@ { "key": 500010, "lock": 9, - "lockend": 5, + "lockend": 15, "ontxe": 20090, "id_after": 0, "group": 410, @@ -1066,16 +1032,12 @@ "icon": "", "task_Tname": { "key": "Weekly_Tasks1", - "text": "1" + "text": "周常任务" }, "task_name": { "key": "Weekly_Tasks1", "text": "1" }, - "task_display": { - "key": "Weekly_Tasks1", - "text": "1" - }, "npctxt": { "key": "", "text": "" @@ -1096,105 +1058,9 @@ "auto_accept": 0, "reword": [ { - "a": "item", - "t": "110001", - "n": 888 - } - ], - "module": [] - }, - { - "key": 500020, - "lock": 10, - "lockend": 5, - "ontxe": 20100, - "id_after": 0, - "group": 411, - "des": 4, - "icon": "", - "task_Tname": { - "key": "Weekly_Tasks2", - "text": "1" - }, - "task_name": { - "key": "Weekly_Tasks2", - "text": "1" - }, - "task_display": { - "key": "Weekly_Tasks2", - "text": "1" - }, - "npctxt": { - "key": "", - "text": "" - }, - "npc": 10040, - "completetasktxt": { - "key": "", - "text": "" - }, - "completetask": [ - 0 - ], - "deliver_npctxt": { - "key": "", - "text": "" - }, - "deliver_npc": 10082, - "auto_accept": 0, - "reword": [ - { - "a": "item", - "t": "110001", - "n": 888 - } - ], - "module": [] - }, - { - "key": 500030, - "lock": 11, - "lockend": 5, - "ontxe": 20110, - "id_after": 0, - "group": 412, - "des": 4, - "icon": "", - "task_Tname": { - "key": "Weekly_Tasks3", - "text": "1" - }, - "task_name": { - "key": "Weekly_Tasks3", - "text": "1" - }, - "task_display": { - "key": "Weekly_Tasks3", - "text": "1" - }, - "npctxt": { - "key": "", - "text": "" - }, - "npc": 10040, - "completetasktxt": { - "key": "", - "text": "" - }, - "completetask": [ - 0 - ], - "deliver_npctxt": { - "key": "", - "text": "" - }, - "deliver_npc": 10082, - "auto_accept": 0, - "reword": [ - { - "a": "item", - "t": "110001", - "n": 888 + "a": "attr", + "t": "gold", + "n": 5000 } ], "module": [] From 93996e3c8057e9e61da2cf330c6db78085f4f1b1 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 14:40:55 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E5=A3=B0=E6=9C=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/protocol.go | 10 +- cmd/v2/ui/views/dispatch.go | 2 +- cmd/v2/ui/views/reputation.go | 57 ++++++- modules/reputation/api_talenttest.go | 20 +++ modules/reputation/api_upgrade.go | 47 +++--- modules/reputation/model_reputation.go | 7 + pb/reputation_msg.pb.go | 204 ++++++++++++++++++++----- 7 files changed, 278 insertions(+), 69 deletions(-) create mode 100644 modules/reputation/api_talenttest.go diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index 67b1fbb8f..8669d31e6 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -261,7 +261,7 @@ var ( ff(comm.ModuleDispatch, "dispatch"), }, "reputation": { - ff(comm.ModuleReputation, "upgrade"), + ff(comm.ModuleReputation, "reputation"), }, } ) @@ -927,11 +927,11 @@ var ( MainType: string(comm.ModuleReputation), Enabled: true, }, - ff(comm.ModuleReputation, "upgrade"): { - NavLabel: "天赋升级", - Desc: "天赋树升级", + ff(comm.ModuleReputation, "reputation"): { + NavLabel: "声望管理", + Desc: "声望管理", MainType: string(comm.ModuleReputation), - SubType: "upgrade", + SubType: "reputation", Enabled: true, }, } diff --git a/cmd/v2/ui/views/dispatch.go b/cmd/v2/ui/views/dispatch.go index a7860b0df..8e8545a5a 100644 --- a/cmd/v2/ui/views/dispatch.go +++ b/cmd/v2/ui/views/dispatch.go @@ -135,8 +135,8 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject { paiWin := dialog.NewCustom("派遣", "关闭", form, d.w) paiWin.Resize(fyne.NewSize(600, 300)) paiWin.Show() - }) + //周奖励领取 weekReceiveBtn := widget.NewButton("周奖励", func() { if err := service.GetPttService().SendToClient( diff --git a/cmd/v2/ui/views/reputation.go b/cmd/v2/ui/views/reputation.go index 094b5f64a..704eece40 100644 --- a/cmd/v2/ui/views/reputation.go +++ b/cmd/v2/ui/views/reputation.go @@ -1,24 +1,75 @@ package formview import ( + "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/model" + "go_dreamfactory/cmd/v2/service" + "go_dreamfactory/pb" "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" + "github.com/spf13/cast" ) type ReputationView struct { BaseformView + itemList *common.ItemList + flag bool } func (d *ReputationView) CreateView(t *model.TestCase) fyne.CanvasObject { - upgradeBtn := widget.NewButton("天赋升级", func() { + d.itemList = common.NewItemList() + d.itemList.ItemList = d.itemList.CreateList() + + swBtn := widget.NewButton("声望升级", func() { + //阵营 + zy := widget.NewEntry() + //好感度 + fv := widget.NewEntry() + + form := widget.NewForm( + widget.NewFormItem("阵营ID", zy), + widget.NewFormItem("好感度", fv), + ) + + form.OnSubmit = func() { + + } + + paiWin := dialog.NewCustom("升级", "关闭", form, d.w) + paiWin.Resize(fyne.NewSize(600, 300)) + paiWin.Show() }) + upgradeBtn := widget.NewButton("天赋升级", func() { + nodeId := widget.NewEntry() + form := widget.NewForm( + widget.NewFormItem("节点ID", nodeId), + ) - topBtns := container.NewHBox(upgradeBtn) - c := container.NewBorder(topBtns, nil, nil, nil) + form.OnSubmit = func() { + if err := service.GetPttService().SendToClient( + t.MainType, + "upgrade", + &pb.ReputationUpgradeReq{ + NodeId: cast.ToInt32(nodeId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + + paiWin := dialog.NewCustom("升级", "关闭", form, d.w) + paiWin.Resize(fyne.NewSize(600, 300)) + paiWin.Show() + }) + + topBtns := container.NewHBox(swBtn, upgradeBtn) + c := container.NewBorder(topBtns, nil, nil, nil, d.itemList.ItemList) return c } diff --git a/modules/reputation/api_talenttest.go b/modules/reputation/api_talenttest.go new file mode 100644 index 000000000..0ee964a23 --- /dev/null +++ b/modules/reputation/api_talenttest.go @@ -0,0 +1,20 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" +) + +func (this *apiComp) TalenttestCheck(session comm.IUserSession, req *pb.ReputationTalenttestReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Talenttest(session comm.IUserSession, req *pb.ReputationTalenttestReq) (code pb.ErrorCode, data *pb.ErrorData) { + rsp := &pb.ReputationTalenttestResp{} + lv := this.module.Upgrade(session, req.RaceType, req.FriendValue) + this.module.Debug("声望等级", log.Field{Key: "lv", Value: lv}) + + session.SendMsg(string(this.module.GetType()), "talenttest", rsp) + return +} diff --git a/modules/reputation/api_upgrade.go b/modules/reputation/api_upgrade.go index 4255f1874..08842738e 100644 --- a/modules/reputation/api_upgrade.go +++ b/modules/reputation/api_upgrade.go @@ -2,7 +2,6 @@ package reputation import ( "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" ) @@ -30,35 +29,39 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.ReputationUpgrad camp, ok := reputation.Camps[talentCfg.Type] if !ok { - code = pb.ErrorCode_DataNotFound - this.module.Debug("未找到阵营数据", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "raceType", Value: talentCfg.Type}) + reputation.Camps[talentCfg.Type] = &pb.Camp{} + } + + if code = this.module.CheckRes(session, talentCfg.IconCos); code != pb.ErrorCode_Success { return } if camp != nil { - for _, v := range camp.Nodes { - //判断是否满级 - if req.NodeId == v.Nid && v.Status == 2 { - code = pb.ErrorCode_ReputationTalentFull - return - } else if req.NodeId == v.Nid { - //消耗 - if c := this.module.ConsumeRes(session, talentCfg.IconCos, true); c == pb.ErrorCode_Success { - v.Status = 1 - camp.CampAttr = this.module.modelReputation.computeAttr(camp.CampAttr, talentCfg.Attribute) - update := map[string]interface{}{ - "camps": reputation.Camps, - } - this.module.modelReputation.updateDBReputation(uid, update) - } else { - code = pb.ErrorCode_ResNoEnough + if len(camp.Nodes) == 0 { + camp.Nodes = append(camp.Nodes, &pb.TalentNode{ + Nid: req.NodeId, + }) + } else { + for _, v := range camp.Nodes { + //判断是否满级 + if req.NodeId == v.Nid && v.Status == 2 { + code = pb.ErrorCode_ReputationTalentFull return + } else if req.NodeId == v.Nid { + //消耗 + if c := this.module.ConsumeRes(session, talentCfg.IconCos, true); c == pb.ErrorCode_Success { + v.Status = 1 + camp.CampAttr = this.module.modelReputation.computeAttr(camp.CampAttr, talentCfg.Attribute) + + } + break } - break } } + update := map[string]interface{}{ + "camps": reputation.Camps, + } + this.module.modelReputation.updateDBReputation(uid, update) } session.SendMsg(string(this.module.GetType()), "upgrade", rsp) diff --git a/modules/reputation/model_reputation.go b/modules/reputation/model_reputation.go index f63ff3f32..14ddcf557 100644 --- a/modules/reputation/model_reputation.go +++ b/modules/reputation/model_reputation.go @@ -25,6 +25,13 @@ func (this *ModelReputation) Init(service core.IService, module core.IModule, co return } +func(this *ModelReputation) initCamp(reputation *pb.DBReputation){ + if reputation!=nil && reputation.Camps == nil{ + reputation.Camps = make(map[int32]*pb.Camp) + + } +} + // 获取玩家声望数据 func (this *ModelReputation) getDBReputation(uid string) *pb.DBReputation { reputation := &pb.DBReputation{} diff --git a/pb/reputation_msg.pb.go b/pb/reputation_msg.pb.go index e8a1c3c4c..5bb87a135 100644 --- a/pb/reputation_msg.pb.go +++ b/pb/reputation_msg.pb.go @@ -20,6 +20,100 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +//测试 +type ReputationTalenttestReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RaceType int32 `protobuf:"varint,1,opt,name=raceType,proto3" json:"raceType"` + FriendValue int32 `protobuf:"varint,2,opt,name=friendValue,proto3" json:"friendValue"` +} + +func (x *ReputationTalenttestReq) Reset() { + *x = ReputationTalenttestReq{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalenttestReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalenttestReq) ProtoMessage() {} + +func (x *ReputationTalenttestReq) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[0] + 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 ReputationTalenttestReq.ProtoReflect.Descriptor instead. +func (*ReputationTalenttestReq) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{0} +} + +func (x *ReputationTalenttestReq) GetRaceType() int32 { + if x != nil { + return x.RaceType + } + return 0 +} + +func (x *ReputationTalenttestReq) GetFriendValue() int32 { + if x != nil { + return x.FriendValue + } + return 0 +} + +type ReputationTalenttestResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReputationTalenttestResp) Reset() { + *x = ReputationTalenttestResp{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalenttestResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalenttestResp) ProtoMessage() {} + +func (x *ReputationTalenttestResp) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[1] + 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 ReputationTalenttestResp.ProtoReflect.Descriptor instead. +func (*ReputationTalenttestResp) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{1} +} + //天赋树升级 type ReputationUpgradeReq struct { state protoimpl.MessageState @@ -32,7 +126,7 @@ type ReputationUpgradeReq struct { func (x *ReputationUpgradeReq) Reset() { *x = ReputationUpgradeReq{} if protoimpl.UnsafeEnabled { - mi := &file_reputation_reputation_msg_proto_msgTypes[0] + mi := &file_reputation_reputation_msg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45,7 +139,7 @@ func (x *ReputationUpgradeReq) String() string { func (*ReputationUpgradeReq) ProtoMessage() {} func (x *ReputationUpgradeReq) ProtoReflect() protoreflect.Message { - mi := &file_reputation_reputation_msg_proto_msgTypes[0] + mi := &file_reputation_reputation_msg_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58,7 +152,7 @@ func (x *ReputationUpgradeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ReputationUpgradeReq.ProtoReflect.Descriptor instead. func (*ReputationUpgradeReq) Descriptor() ([]byte, []int) { - return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{0} + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{2} } func (x *ReputationUpgradeReq) GetNodeId() int32 { @@ -77,7 +171,7 @@ type ReputationUpgradeResp struct { func (x *ReputationUpgradeResp) Reset() { *x = ReputationUpgradeResp{} if protoimpl.UnsafeEnabled { - mi := &file_reputation_reputation_msg_proto_msgTypes[1] + mi := &file_reputation_reputation_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90,7 +184,7 @@ func (x *ReputationUpgradeResp) String() string { func (*ReputationUpgradeResp) ProtoMessage() {} func (x *ReputationUpgradeResp) ProtoReflect() protoreflect.Message { - mi := &file_reputation_reputation_msg_proto_msgTypes[1] + mi := &file_reputation_reputation_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103,7 +197,7 @@ func (x *ReputationUpgradeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ReputationUpgradeResp.ProtoReflect.Descriptor instead. func (*ReputationUpgradeResp) Descriptor() ([]byte, []int) { - return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{1} + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{3} } //获取天赋树节点 @@ -116,7 +210,7 @@ type ReputationTalentReq struct { func (x *ReputationTalentReq) Reset() { *x = ReputationTalentReq{} if protoimpl.UnsafeEnabled { - mi := &file_reputation_reputation_msg_proto_msgTypes[2] + mi := &file_reputation_reputation_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -129,7 +223,7 @@ func (x *ReputationTalentReq) String() string { func (*ReputationTalentReq) ProtoMessage() {} func (x *ReputationTalentReq) ProtoReflect() protoreflect.Message { - mi := &file_reputation_reputation_msg_proto_msgTypes[2] + mi := &file_reputation_reputation_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -142,7 +236,7 @@ func (x *ReputationTalentReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ReputationTalentReq.ProtoReflect.Descriptor instead. func (*ReputationTalentReq) Descriptor() ([]byte, []int) { - return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{2} + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{4} } type ReputationTalentResp struct { @@ -157,7 +251,7 @@ type ReputationTalentResp struct { func (x *ReputationTalentResp) Reset() { *x = ReputationTalentResp{} if protoimpl.UnsafeEnabled { - mi := &file_reputation_reputation_msg_proto_msgTypes[3] + mi := &file_reputation_reputation_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -170,7 +264,7 @@ func (x *ReputationTalentResp) String() string { func (*ReputationTalentResp) ProtoMessage() {} func (x *ReputationTalentResp) ProtoReflect() protoreflect.Message { - mi := &file_reputation_reputation_msg_proto_msgTypes[3] + mi := &file_reputation_reputation_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -183,7 +277,7 @@ func (x *ReputationTalentResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ReputationTalentResp.ProtoReflect.Descriptor instead. func (*ReputationTalentResp) Descriptor() ([]byte, []int) { - return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{3} + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{5} } func (x *ReputationTalentResp) GetAttrGlobal() *CampAttr { @@ -207,19 +301,27 @@ var file_reputation_reputation_msg_proto_rawDesc = []byte{ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x2e, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x22, 0x17, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x15, 0x0a, 0x13, 0x72, 0x65, - 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x22, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x72, 0x65, + 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, + 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x15, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x22, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04, + 0x63, 0x61, 0x6d, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -234,18 +336,20 @@ func file_reputation_reputation_msg_proto_rawDescGZIP() []byte { return file_reputation_reputation_msg_proto_rawDescData } -var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_reputation_reputation_msg_proto_goTypes = []interface{}{ - (*ReputationUpgradeReq)(nil), // 0: reputationUpgradeReq - (*ReputationUpgradeResp)(nil), // 1: reputationUpgradeResp - (*ReputationTalentReq)(nil), // 2: reputationTalentReq - (*ReputationTalentResp)(nil), // 3: reputationTalentResp - (*CampAttr)(nil), // 4: CampAttr - (*Camp)(nil), // 5: Camp + (*ReputationTalenttestReq)(nil), // 0: reputationTalenttestReq + (*ReputationTalenttestResp)(nil), // 1: reputationTalenttestResp + (*ReputationUpgradeReq)(nil), // 2: reputationUpgradeReq + (*ReputationUpgradeResp)(nil), // 3: reputationUpgradeResp + (*ReputationTalentReq)(nil), // 4: reputationTalentReq + (*ReputationTalentResp)(nil), // 5: reputationTalentResp + (*CampAttr)(nil), // 6: CampAttr + (*Camp)(nil), // 7: Camp } var file_reputation_reputation_msg_proto_depIdxs = []int32{ - 4, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr - 5, // 1: reputationTalentResp.camp:type_name -> Camp + 6, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr + 7, // 1: reputationTalentResp.camp:type_name -> Camp 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -261,7 +365,7 @@ func file_reputation_reputation_msg_proto_init() { file_reputation_reputation_db_proto_init() if !protoimpl.UnsafeEnabled { file_reputation_reputation_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReputationUpgradeReq); i { + switch v := v.(*ReputationTalenttestReq); i { case 0: return &v.state case 1: @@ -273,7 +377,7 @@ func file_reputation_reputation_msg_proto_init() { } } file_reputation_reputation_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReputationUpgradeResp); i { + switch v := v.(*ReputationTalenttestResp); i { case 0: return &v.state case 1: @@ -285,7 +389,7 @@ func file_reputation_reputation_msg_proto_init() { } } file_reputation_reputation_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReputationTalentReq); i { + switch v := v.(*ReputationUpgradeReq); i { case 0: return &v.state case 1: @@ -297,6 +401,30 @@ func file_reputation_reputation_msg_proto_init() { } } file_reputation_reputation_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationUpgradeResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationTalentReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReputationTalentResp); i { case 0: return &v.state @@ -315,7 +443,7 @@ func file_reputation_reputation_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_reputation_reputation_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, From 6b5d64cec616dd11f1bf820ee4165f1cf4346412 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 15:01:56 +0800 Subject: [PATCH 09/22] update --- pb/errorcode.pb.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index d3227cf8c..217d0c737 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -369,10 +369,12 @@ const ( ErrorCode_PracticeYouQiecuoing ErrorCode = 4305 //你有切磋未完成 ErrorCode_PracticeTargetQiecuoing ErrorCode = 4306 //目标正在切磋中 //parkour - ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满 - ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期 + ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满 + ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期 + ErrorCode_ParkourInviteNoPermissions ErrorCode = 4403 //无权邀请 + ErrorCode_ParkourTargetTeamed ErrorCode = 4404 //目标已组队 //reputation - ErrorCode_ReputationTalentFull ErrorCode = 4501 //天赋满级了 + ErrorCode_ReputationTalentFull ErrorCode = 4501 //天赋满级 ) // Enum value maps for ErrorCode. @@ -691,6 +693,8 @@ var ( 4306: "PracticeTargetQiecuoing", 4401: "ParkourMemberFull", 4402: "ParkourInviteOverdue", + 4403: "ParkourInviteNoPermissions", + 4404: "ParkourTargetTeamed", 4501: "ReputationTalentFull", } ErrorCode_value = map[string]int32{ @@ -1007,6 +1011,8 @@ var ( "PracticeTargetQiecuoing": 4306, "ParkourMemberFull": 4401, "ParkourInviteOverdue": 4402, + "ParkourInviteNoPermissions": 4403, + "ParkourTargetTeamed": 4404, "ReputationTalentFull": 4501, } ) @@ -1042,7 +1048,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, 0xab, 0x39, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xe6, 0x39, 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, @@ -1499,9 +1505,13 @@ var file_errorcode_proto_rawDesc = []byte{ 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, 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, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 1a741fd8efc64fb1a69d265eeb140c9d149a3101 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 20 Apr 2023 16:34:15 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_opencond.json | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json index 394e64a95..e25a3d30d 100644 --- a/bin/json/game_opencond.json +++ b/bin/json/game_opencond.json @@ -919,8 +919,8 @@ }, "main": [ { - "key": 3, - "param": 20010 + "key": 1, + "param": 1 } ], "optional": "", @@ -1636,5 +1636,29 @@ "notify": [ "practice" ] + }, + { + "id": "practice_Kick", + "name": { + "key": "", + "text": "" + }, + "main": [ + { + "key": 1, + "param": 2 + } + ], + "optional": "", + "wkqbx": 0, + "kqbx": 0, + "img": "", + "prompt": { + "key": "", + "text": "" + }, + "uiid": 0, + "activateType": 0, + "notify": [] } ] \ No newline at end of file From 10f8849fbec9b24c265b023f9aefa859ad32f971 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 17:05:14 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_buzkashigrade.json | 22 + bin/json/game_buzkashilv.json | 32 ++ bin/json/game_buzkashimount.json | 38 ++ bin/json/game_buzkashireward.json | 67 ++++ bin/json/game_coin.json | 88 ++-- bin/json/game_initial.json | 10 + bin/json/game_mainstage.json | 24 ++ bin/json/game_navigation.json | 377 ++++++++++++++++++ bin/json/game_opencond.json | 24 ++ bin/json/game_rdtasknpc.json | 172 +++----- bin/json/game_skillafteratk.json | 145 ++++--- bin/json/game_skillatk.json | 3 +- bin/json/game_skillpassive.json | 14 + bin/json/game_worldtask.json | 192 +++++++-- modules/parkour/api_changemts.go | 15 +- modules/parkour/api_invite.go | 27 +- modules/parkour/api_invitehandle.go | 9 +- modules/parkour/configure.go | 33 +- modules/parkour/core.go | 4 + modules/parkour/model_parkour.go | 6 +- modules/parkour/module.go | 64 ++- pb/parkour_msg.pb.go | 276 ++++++++----- sys/configure/structs/Game.BuzkashiGrade.go | 42 ++ .../structs/Game.BuzkashiGradeData.go | 39 ++ sys/configure/structs/Game.BuzkashiLv.go | 42 ++ sys/configure/structs/Game.BuzkashiLvData.go | 39 ++ sys/configure/structs/Game.BuzkashiMount.go | 42 ++ .../structs/Game.BuzkashiMountData.go | 53 +++ sys/configure/structs/Game.BuzkashiReward.go | 42 ++ .../structs/Game.BuzkashiRewardData.go | 52 +++ sys/configure/structs/Game.MainStageData.go | 2 + sys/configure/structs/Game.Navigation.go | 42 ++ sys/configure/structs/Game.NavigationData.go | 47 +++ sys/configure/structs/Tables.go | 35 ++ sys/configure/structs/game.coinData.go | 2 +- 35 files changed, 1787 insertions(+), 334 deletions(-) create mode 100644 bin/json/game_buzkashigrade.json create mode 100644 bin/json/game_buzkashilv.json create mode 100644 bin/json/game_buzkashimount.json create mode 100644 bin/json/game_buzkashireward.json create mode 100644 bin/json/game_navigation.json create mode 100644 sys/configure/structs/Game.BuzkashiGrade.go create mode 100644 sys/configure/structs/Game.BuzkashiGradeData.go create mode 100644 sys/configure/structs/Game.BuzkashiLv.go create mode 100644 sys/configure/structs/Game.BuzkashiLvData.go create mode 100644 sys/configure/structs/Game.BuzkashiMount.go create mode 100644 sys/configure/structs/Game.BuzkashiMountData.go create mode 100644 sys/configure/structs/Game.BuzkashiReward.go create mode 100644 sys/configure/structs/Game.BuzkashiRewardData.go create mode 100644 sys/configure/structs/Game.Navigation.go create mode 100644 sys/configure/structs/Game.NavigationData.go diff --git a/bin/json/game_buzkashigrade.json b/bin/json/game_buzkashigrade.json new file mode 100644 index 000000000..a673dd940 --- /dev/null +++ b/bin/json/game_buzkashigrade.json @@ -0,0 +1,22 @@ +[ + { + "num": 1, + "distance": "1", + "value": 2 + }, + { + "num": 2, + "distance": "2", + "value": 4 + }, + { + "num": 3, + "distance": "3", + "value": 6 + }, + { + "num": 4, + "distance": "4", + "value": 8 + } +] \ No newline at end of file diff --git a/bin/json/game_buzkashilv.json b/bin/json/game_buzkashilv.json new file mode 100644 index 000000000..ca7f65a7c --- /dev/null +++ b/bin/json/game_buzkashilv.json @@ -0,0 +1,32 @@ +[ + { + "num": 1, + "score": "c", + "value": 10 + }, + { + "num": 2, + "score": "b", + "value": 20 + }, + { + "num": 3, + "score": "a", + "value": 50 + }, + { + "num": 4, + "score": "s", + "value": 80 + }, + { + "num": 5, + "score": "ss", + "value": 100 + }, + { + "num": 6, + "score": "sss", + "value": 120 + } +] \ No newline at end of file diff --git a/bin/json/game_buzkashimount.json b/bin/json/game_buzkashimount.json new file mode 100644 index 000000000..351d3ecac --- /dev/null +++ b/bin/json/game_buzkashimount.json @@ -0,0 +1,38 @@ +[ + { + "num": "20030001", + "stime": 100, + "etime": 120, + "hp": 7, + "model": "", + "point": "", + "moderate": 0, + "sprint": 0, + "acceleration": 0, + "deceleration": 0 + }, + { + "num": "20030002", + "stime": 100, + "etime": 120, + "hp": 5, + "model": "", + "point": "", + "moderate": 0, + "sprint": 0, + "acceleration": 0, + "deceleration": 0 + }, + { + "num": "20030003", + "stime": 100, + "etime": 120, + "hp": 5, + "model": "", + "point": "", + "moderate": 0, + "sprint": 0, + "acceleration": 0, + "deceleration": 0 + } +] \ No newline at end of file diff --git a/bin/json/game_buzkashireward.json b/bin/json/game_buzkashireward.json new file mode 100644 index 000000000..856a5fe9c --- /dev/null +++ b/bin/json/game_buzkashireward.json @@ -0,0 +1,67 @@ +[ + { + "key": 1, + "schedule": 20, + "reword": [ + { + "a": "attr", + "t": "diamond", + "n": 5 + } + ] + }, + { + "key": 2, + "schedule": 40, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 10000 + } + ] + }, + { + "key": 3, + "schedule": 60, + "reword": [ + { + "a": "attr", + "t": "diamond", + "n": 10 + } + ] + }, + { + "key": 4, + "schedule": 80, + "reword": [ + { + "a": "attr", + "t": "diamond", + "n": 10 + }, + { + "a": "attr", + "t": "gold", + "n": 20000 + } + ] + }, + { + "key": 5, + "schedule": 100, + "reword": [ + { + "a": "item", + "t": "30001", + "n": 1 + }, + { + "a": "attr", + "t": "gold", + "n": 50000 + } + ] + } +] \ No newline at end of file diff --git a/bin/json/game_coin.json b/bin/json/game_coin.json index e7dfcdbb9..1b24c43cb 100644 --- a/bin/json/game_coin.json +++ b/bin/json/game_coin.json @@ -1,7 +1,10 @@ [ { "key": "gold", - "name": "gold", + "name": { + "key": "item_coin_name_gold", + "text": "金币" + }, "color": 1, "effects": "", "access": 123, @@ -13,7 +16,10 @@ }, { "key": "diamond", - "name": "Diamond ", + "name": { + "key": "item_coin_name_diamond", + "text": "钻石" + }, "color": 2, "effects": "", "access": 158, @@ -25,7 +31,10 @@ }, { "key": "exp", - "name": "exp", + "name": { + "key": "item_coin_name_exp", + "text": "角色经验" + }, "color": 3, "effects": "", "access": 113, @@ -37,7 +46,10 @@ }, { "key": "friendPoint", - "name": "Friendship point", + "name": { + "key": "item_coin_name_friendPoint", + "text": "友情点" + }, "color": 1, "effects": "", "access": 115, @@ -49,7 +61,10 @@ }, { "key": "palyexp", - "name": "palyexp", + "name": { + "key": "item_coin_name_palyexp", + "text": "废弃角色经验" + }, "color": 3, "effects": "", "access": 113, @@ -61,110 +76,137 @@ }, { "key": "guildexp", - "name": "guildexp", + "name": { + "key": "item_coin_name_guildexp", + "text": "公会经验" + }, "color": 1, "effects": "", "access": 157, "img": "wp_icon_10024", "intr": { "key": "item_coin_intr_guildexp", - "text": "有多种功能的基础货币" + "text": "可以用于提升公会等级" } }, { "key": "guildactive", - "name": "guildactive", + "name": { + "key": "item_coin_name_guildactive", + "text": "公会活跃度" + }, "color": 1, "effects": "", "access": 157, "img": "wp_icon_0001", "intr": { "key": "item_coin_intr_guildactive", - "text": "有多种功能的基础货币" + "text": "通过公会任务获取,达到一定活跃度公会成员都可以在公会任务界面领取奖励" } }, { "key": "guildcoin", - "name": "guildcoin", + "name": { + "key": "item_coin_name_guildcoin", + "text": "公会币" + }, "color": 3, "effects": "", "access": 157, "img": "wp_icon_10017", "intr": { "key": "item_coin_intr_guildcoin", - "text": "有多种功能的基础货币" + "text": "可以用于在公会商店兑换各种道具" } }, { "key": "starcoin", - "name": "starcoin", + "name": { + "key": "item_coin_name_starcoin", + "text": "星图币" + }, "color": 3, "effects": "", "access": 158, "img": "wp_icon_10017", "intr": { "key": "item_coin_intr_starcoin", - "text": "有多种功能的基础货币" + "text": "点亮星图的必要道具" } }, { "key": "vipexp", - "name": "vipexp", + "name": { + "key": "item_coin_name_vipexp", + "text": "商会经验" + }, "color": 3, "effects": "", "access": 158, "img": "wp_icon_0002", "intr": { "key": "item_coin_intr_vipexp", - "text": "有多种功能的基础货币" + "text": "商会地位的象征,积累一定声望可以提升商会等级" } }, { "key": "arenacoin", - "name": "arenacoin", + "name": { + "key": "item_coin_name_arenacoin", + "text": "竞技场币" + }, "color": 3, "effects": "", "access": 156, "img": "icon_ry", "intr": { "key": "item_coin_intr_arenacoin", - "text": "有多种功能的基础货币" + "text": "向竞技比赛强者发放的兑换币,可以在竞技商店兑换多种奖励" } }, { "key": "ps", - "name": "ps", + "name": { + "key": "item_coin_name_ps", + "text": "体力值" + }, "color": 3, "effects": "", "access": 156, "img": "wp_icon_0002", "intr": { "key": "item_coin_intr_ps", - "text": "有多种功能的基础货币" + "text": "挑战关卡必备" } }, { "key": "heroexp", - "name": "heroexp", + "name": { + "key": "item_coin_name_heroexp", + "text": "英雄经验" + }, "color": 3, "effects": "", "access": 0, "img": "wp_icon_10009", "intr": { "key": "item_coin_intr_heroexp", - "text": "有多种功能的基础货币" + "text": "累积到一定值会提升英雄等级" } }, { "key": "moongold", - "name": "Badge of honor", + "name": { + "key": "item_coin_name_moongold", + "text": "荣耀值" + }, "color": 5, "effects": "", "access": 107, "img": "wp_icon_10009", "intr": { "key": "item_coin_intr_moongold", - "text": "有多种功能的基础货币" + "text": "月亮币" } } ] \ No newline at end of file diff --git a/bin/json/game_initial.json b/bin/json/game_initial.json index 062e56559..d6bc75abb 100644 --- a/bin/json/game_initial.json +++ b/bin/json/game_initial.json @@ -1588,5 +1588,15 @@ "n": 1 } ] + }, + { + "index": "325", + "var": [ + { + "a": "mts", + "t": "20030001", + "n": 1 + } + ] } ] \ No newline at end of file diff --git a/bin/json/game_mainstage.json b/bin/json/game_mainstage.json index 0b8c643c4..05bf8907d 100644 --- a/bin/json/game_mainstage.json +++ b/bin/json/game_mainstage.json @@ -11,6 +11,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 618, "afterstoryid": 0, "mainlineName": { @@ -93,6 +94,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 619, "afterstoryid": 0, "mainlineName": { @@ -180,6 +182,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 621, "afterstoryid": 0, "mainlineName": { @@ -267,6 +270,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 623, "afterstoryid": 0, "mainlineName": { @@ -354,6 +358,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 626, "afterstoryid": 628, "mainlineName": { @@ -441,6 +446,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 636, "afterstoryid": 637, "mainlineName": { @@ -528,6 +534,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -615,6 +622,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -702,6 +710,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -790,6 +799,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -878,6 +888,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -966,6 +977,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1054,6 +1066,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1141,6 +1154,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1228,6 +1242,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1316,6 +1331,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1404,6 +1420,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1492,6 +1509,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1580,6 +1598,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1667,6 +1686,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1754,6 +1774,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1842,6 +1863,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -1930,6 +1952,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { @@ -2018,6 +2041,7 @@ "z": 0 }, "EditorStage": 0, + "detailwindow": "effect_chezhan", "frontstoryid": 0, "afterstoryid": 0, "mainlineName": { diff --git a/bin/json/game_navigation.json b/bin/json/game_navigation.json new file mode 100644 index 000000000..6f4374553 --- /dev/null +++ b/bin/json/game_navigation.json @@ -0,0 +1,377 @@ +[ + { + "Id": 1, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_1", + "text": "充值" + }, + "npcName": "功能入口-充值", + "functionicon": "" + }, + { + "Id": 2, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_2", + "text": "商人" + }, + "npcName": "功能入口-商人", + "functionicon": "" + }, + { + "Id": 3, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_3", + "text": "任务" + }, + "npcName": "功能入口-任务", + "functionicon": "" + }, + { + "Id": 4, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_4", + "text": "公告" + }, + "npcName": "功能入口-公告", + "functionicon": "" + }, + { + "Id": 5, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_5", + "text": "邮件" + }, + "npcName": "功能入口-邮件", + "functionicon": "" + }, + { + "Id": 6, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_6", + "text": "主线关卡" + }, + "npcName": "功能入口-主线", + "functionicon": "" + }, + { + "Id": 7, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_7", + "text": "维京远征" + }, + "npcName": "功能入口-维京远征", + "functionicon": "" + }, + { + "Id": 8, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_8", + "text": "捕羊大赛" + }, + "npcName": "功能入口-捕羊大赛", + "functionicon": "" + }, + { + "Id": 9, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_9", + "text": "狩猎" + }, + "npcName": "功能入口-狩猎", + "functionicon": "" + }, + { + "Id": 10, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_10", + "text": "旧时光" + }, + "npcName": "功能入口-剧情副本", + "functionicon": "" + }, + { + "Id": 11, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_11", + "text": "竞技场" + }, + "npcName": "功能入口-竞技场", + "functionicon": "" + }, + { + "Id": 12, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_12", + "text": "招募" + }, + "npcName": "功能入口-招募", + "functionicon": "" + }, + { + "Id": 13, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_13", + "text": "签到" + }, + "npcName": "功能入口-签到", + "functionicon": "" + }, + { + "Id": 14, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_14", + "text": "魔药" + }, + "npcName": "功能入口-魔药", + "functionicon": "" + }, + { + "Id": 15, + "scene": "GameMain", + "scenename": { + "key": "navigationscenename_1", + "text": "中轴城" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_15", + "text": "烹饪" + }, + "npcName": "功能入口-烹饪", + "functionicon": "" + }, + { + "Id": 16, + "scene": "SmithyScene", + "scenename": { + "key": "navigationscenename_2", + "text": "铁匠铺" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_16", + "text": "打造" + }, + "npcName": "打造", + "functionicon": "" + }, + { + "Id": 17, + "scene": "SmithyScene", + "scenename": { + "key": "navigationscenename_2", + "text": "铁匠铺" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_17", + "text": "锻造炉" + }, + "npcName": "锻造炉", + "functionicon": "" + }, + { + "Id": 18, + "scene": "SmithyScene", + "scenename": { + "key": "navigationscenename_2", + "text": "铁匠铺" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_18", + "text": "手册台" + }, + "npcName": "手册台", + "functionicon": "" + }, + { + "Id": 19, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_19", + "text": "总教习" + }, + "npcName": "总教习", + "functionicon": "" + }, + { + "Id": 20, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_20", + "text": "阿宝" + }, + "npcName": "阿宝", + "functionicon": "" + }, + { + "Id": 21, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_21", + "text": "告示板" + }, + "npcName": "告示板", + "functionicon": "" + }, + { + "Id": 22, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_22", + "text": "木桩1" + }, + "npcName": "木桩1", + "functionicon": "" + }, + { + "Id": 23, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_23", + "text": "木桩2" + }, + "npcName": "木桩2", + "functionicon": "" + }, + { + "Id": 24, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_24", + "text": "木桩3" + }, + "npcName": "木桩3", + "functionicon": "" + }, + { + "Id": 25, + "scene": "WuGuanScene", + "scenename": { + "key": "navigationscenename_3", + "text": "熊猫武馆" + }, + "sceneicon": "", + "functionname": { + "key": "navigation_functionname_25", + "text": "木桩4" + }, + "npcName": "木桩4", + "functionicon": "" + } +] \ No newline at end of file diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json index 394e64a95..249b1b2bb 100644 --- a/bin/json/game_opencond.json +++ b/bin/json/game_opencond.json @@ -1636,5 +1636,29 @@ "notify": [ "practice" ] + }, + { + "id": "practice_Kick", + "name": { + "key": "", + "text": "" + }, + "main": [ + { + "key": 1, + "param": 2 + } + ], + "optional": "", + "wkqbx": 0, + "kqbx": 0, + "img": "", + "prompt": { + "key": "", + "text": "" + }, + "uiid": 0, + "activateType": 0, + "notify": [] } ] \ No newline at end of file diff --git a/bin/json/game_rdtasknpc.json b/bin/json/game_rdtasknpc.json index e44700ed4..8fd159d5d 100644 --- a/bin/json/game_rdtasknpc.json +++ b/bin/json/game_rdtasknpc.json @@ -32,7 +32,7 @@ "heroid": 45001, "datas": [ "WuGuanScene", - "乌龟大师", + "总教习", "137" ], "event": [ @@ -51,7 +51,7 @@ ], "event": [ 2, - 500 + 333 ], "goto": 0 }, @@ -79,7 +79,7 @@ ], "event": [ 2, - 602 + 601 ], "goto": 0 }, @@ -93,7 +93,7 @@ ], "event": [ 2, - 603 + 602 ], "goto": 0 }, @@ -107,7 +107,7 @@ ], "event": [ 2, - 604 + 603 ], "goto": 0 }, @@ -127,10 +127,10 @@ }, { "id": 10022, - "heroid": 25001, + "heroid": 24004, "datas": [ "GameMain", - "20020_熊猫_2", + "20020_邦尼兔_1", "901" ], "event": [ @@ -169,15 +169,15 @@ }, { "id": 10032, - "heroid": 24004, + "heroid": 25001, "datas": [ "GameMain", - "20020_邦尼兔_1", + "20020_熊猫_2", "901" ], "event": [ 2, - 609 + 610 ], "goto": 0 }, @@ -253,6 +253,20 @@ }, { "id": 10070, + "heroid": 44004, + "datas": [ + "GameMain", + "20010_骇客蛛_1", + "901" + ], + "event": [ + 2, + 617 + ], + "goto": 0 + }, + { + "id": 10080, "heroid": 43007, "datas": [ "SmithyScene", @@ -266,21 +280,7 @@ "goto": 0 }, { - "id": 10071, - "heroid": 14001, - "datas": [ - "GameMain", - "功能入口-维京远征", - "901" - ], - "event": [ - 10, - 167 - ], - "goto": 0 - }, - { - "id": 10072, + "id": 10081, "heroid": 43007, "datas": [ "SmithyScene", @@ -294,7 +294,7 @@ "goto": 0 }, { - "id": 10080, + "id": 10090, "heroid": 44004, "datas": [ "GameMain", @@ -307,101 +307,17 @@ ], "goto": 0 }, - { - "id": 10081, - "heroid": 14003, - "datas": [ - "GameMain", - "功能入口-主线", - "901" - ], - "event": [ - 10, - 166 - ], - "goto": 0 - }, - { - "id": 10082, - "heroid": 13002, - "datas": [ - "GameMain", - "20080_食人鱼_1", - "901" - ], - "event": [ - 2, - 637 - ], - "goto": 0 - }, - { - "id": 10090, - "heroid": 25001, - "datas": [ - "GameMain", - "20020_熊猫_2", - "901" - ], - "event": [ - 2, - 638 - ], - "goto": 0 - }, - { - "id": 10091, - "heroid": 45001, - "datas": [ - "GameMain", - "功能入口-招募", - "901" - ], - "event": [ - 10, - 107 - ], - "goto": 0 - }, { "id": 10100, - "heroid": 25001, + "heroid": 44004, "datas": [ "GameMain", - "20020_熊猫_2", + "20010_骇客蛛_1", "901" ], "event": [ 2, - 640 - ], - "goto": 0 - }, - { - "id": 10101, - "heroid": 35003, - "datas": [ - "GameMain", - "20100_梦魇_1", - "901" - ], - "event": [ - 2, - 642 - ], - "goto": 0 - }, - { - "id": 10102, - "heroid": 24004, - "datas": [ - "GameMain", - "20020_邦尼兔_1", - "901" - ], - "event": [ - 2, - 641 + 501 ], "goto": 0 }, @@ -415,7 +331,35 @@ ], "event": [ 2, - 99999 + 639 + ], + "goto": 0 + }, + { + "id": 10120, + "heroid": 25001, + "datas": [ + "GameMain", + "20020_熊猫_2", + "901" + ], + "event": [ + 2, + 640 + ], + "goto": 0 + }, + { + "id": 10130, + "heroid": 25001, + "datas": [ + "GameMain", + "20020_熊猫_2", + "901" + ], + "event": [ + 2, + 641 ], "goto": 0 }, diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index 9f777ec87..df9e70724 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -4176,36 +4176,10 @@ { "Id": 225001311, "EmitPR": 1000, - "From": 2, - "Where": [], - "Order": "", - "Limit": 10, - "ExecuteCnt": 3, - "Type": 1, - "Argu": [ - 1, - 4, - 400, - 1, - 5, - 500 - ], - "FollowSK": [], - "SucFollowSK": [], - "FailFollowSK": [], - "MustHit": false, - "DpsRevisiType": 0, - "DpsCondition": "", - "RevisiCondition": "", - "RevisiParams": [] - }, - { - "Id": 225001312, - "EmitPR": 1000, "From": 3, "Where": [], "Order": "", - "Limit": 1, + "Limit": 10, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -4224,12 +4198,12 @@ "RevisiParams": [] }, { - "Id": 225001313, + "Id": 225001312, "EmitPR": 1000, "From": 3, "Where": [], "Order": "", - "Limit": 1, + "Limit": 10, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -4247,6 +4221,32 @@ "RevisiCondition": "", "RevisiParams": [] }, + { + "Id": 225001313, + "EmitPR": 1000, + "From": 2, + "Where": [], + "Order": "", + "Limit": 10, + "ExecuteCnt": 3, + "Type": 1, + "Argu": [ + 1, + 4, + 400, + 1, + 5, + 500 + ], + "FollowSK": [], + "SucFollowSK": [], + "FailFollowSK": [], + "MustHit": false, + "DpsRevisiType": 0, + "DpsCondition": "", + "RevisiCondition": "", + "RevisiParams": [] + }, { "Id": 225001321, "EmitPR": 1000, @@ -13102,7 +13102,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 3, "Type": 1, "Argu": [ @@ -13569,7 +13569,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -13901,7 +13901,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -14147,7 +14147,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -14629,7 +14629,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -14774,7 +14774,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -14798,7 +14798,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 10, "Argu": [ @@ -15462,7 +15462,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 2, "Argu": [ @@ -15487,7 +15487,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -15960,7 +15960,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 14, "Argu": [ @@ -20396,7 +20396,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -22504,7 +22504,9 @@ 1, 1 ], - "FollowSK": [], + "FollowSK": [ + 255002212 + ], "SucFollowSK": [], "FailFollowSK": [], "MustHit": false, @@ -22537,6 +22539,55 @@ "RevisiCondition": "", "RevisiParams": [] }, + { + "Id": 255002213, + "EmitPR": 1000, + "From": 3, + "Where": [], + "Order": "", + "Limit": 1, + "ExecuteCnt": 1, + "Type": 2, + "Argu": [ + 455002211, + -1, + 0 + ], + "FollowSK": [ + 255002214 + ], + "SucFollowSK": [], + "FailFollowSK": [], + "MustHit": false, + "DpsRevisiType": 0, + "DpsCondition": "", + "RevisiCondition": "", + "RevisiParams": [] + }, + { + "Id": 255002214, + "EmitPR": 1000, + "From": 3, + "Where": [], + "Order": "", + "Limit": 10, + "ExecuteCnt": 1, + "Type": 3, + "Argu": [ + 390001116, + 1000, + 1, + -1 + ], + "FollowSK": [], + "SucFollowSK": [], + "FailFollowSK": [], + "MustHit": false, + "DpsRevisiType": 0, + "DpsCondition": "", + "RevisiCondition": "", + "RevisiParams": [] + }, { "Id": 255002311, "EmitPR": 1000, @@ -25688,7 +25739,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -25834,7 +25885,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -25883,7 +25934,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 8, "Argu": [ @@ -25932,7 +25983,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 12, "Argu": [ @@ -25953,7 +26004,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ @@ -25980,7 +26031,7 @@ "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 5, "Argu": [ diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json index 86deceed7..1fbaedad5 100644 --- a/bin/json/game_skillatk.json +++ b/bin/json/game_skillatk.json @@ -11757,7 +11757,8 @@ "Target": 0, "ChildSkill": { "Id": [ - 255002211 + 255002211, + 255002213 ] }, "Desc": { diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json index aae9609c8..5359eac4d 100644 --- a/bin/json/game_skillpassive.json +++ b/bin/json/game_skillpassive.json @@ -1728,6 +1728,20 @@ 255002212 ] }, + { + "Id": 455002212, + "When": 2, + "FromCheck": "Target=3", + "TargetCheck": "", + "MainSkillCheck": "", + "AfterSkillCheck": "", + "BuffCheck": "", + "AddCon": [], + "PasPr": 1000, + "Type": "CallSkillPas", + "MaxEmitTimes": 1, + "Callback": [] + }, { "Id": 414002212, "When": 12, diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 92e23681f..6bd829600 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -32,7 +32,7 @@ "key": "Mainline_Tasks1_1_Receiving", "text": "寻找熊猫" }, - "deliver_npc": 10012, + "deliver_npc": 0, "auto_accept": 1, "reword": [ { @@ -70,13 +70,13 @@ "text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。" }, "completetask": [ - 20002 + 0 ], "deliver_npctxt": { "key": "Mainline_Tasks1_2_Receiving", "text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。" }, - "deliver_npc": 10022, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { @@ -108,7 +108,7 @@ "key": "Mainline_Tasks1_3_Receiving", "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" }, - "npc": 10030, + "npc": 10021, "completetasktxt": { "key": "Mainline_Tasks1_3_Receiving", "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" @@ -120,7 +120,7 @@ "key": "Mainline_Tasks1_3_Receiving", "text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……" }, - "deliver_npc": 10032, + "deliver_npc": 10030, "auto_accept": 0, "reword": [ { @@ -152,7 +152,7 @@ "key": "Mainline_Tasks1_4_Receiving", "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" }, - "npc": 10040, + "npc": 10031, "completetasktxt": { "key": "Mainline_Tasks1_4_Receiving", "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" @@ -164,7 +164,7 @@ "key": "Mainline_Tasks1_4_Receiving", "text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……" }, - "deliver_npc": 10041, + "deliver_npc": 10032, "auto_accept": 0, "reword": [ { @@ -246,13 +246,13 @@ "text": "被月中人选中之人,终将为守护而生。" }, "completetask": [ - 161 + 0 ], "deliver_npctxt": { "key": "Mainline_Tasks1_6_Receiving", "text": "被月中人选中之人,终将为守护而生。" }, - "deliver_npc": 10061, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { @@ -290,13 +290,13 @@ "text": "试炼的终点,是名为勇者的觉醒。" }, "completetask": [ - 304 + 161 ], "deliver_npctxt": { "key": "Mainline_Tasks1_7_Receiving", "text": "试炼的终点,是名为勇者的觉醒。" }, - "deliver_npc": 10072, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { @@ -344,7 +344,7 @@ "text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……" }, "completetask": [ - 305 + 304 ], "deliver_npctxt": { "key": "Mainline_Tasks1_8_Receiving", @@ -376,23 +376,23 @@ }, "task_name": { "key": "Mainline_Tasks1_9", - "text": "召唤英雄" + "text": "试炼再起" }, "npctxt": { "key": "Mainline_Tasks1_9_Receiving", - "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + "text": "这就是维京人的工艺技术吗,我现在感觉自己的实力确实增长不少。" }, "npc": 10090, "completetasktxt": { "key": "Mainline_Tasks1_9_Receiving", - "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + "text": "我迫不及待的想要体验新获得的历练了" }, "completetask": [ - 306 + 305 ], "deliver_npctxt": { "key": "Mainline_Tasks1_9_Receiving", - "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + "text": "我迫不及待的想要体验新获得的历练了" }, "deliver_npc": 0, "auto_accept": 0, @@ -420,25 +420,25 @@ }, "task_name": { "key": "Mainline_Tasks1_10", - "text": "梦魇的诞生" + "text": "归还原石" }, "npctxt": { "key": "Mainline_Tasks1_10_Receiving", - "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + "text": "月光原石回到了它应该在的位置。" }, "npc": 10100, "completetasktxt": { "key": "Mainline_Tasks1_10_Receiving", - "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + "text": "月光原石回到了它应该在的位置。" }, "completetask": [ - 307 + 0 ], "deliver_npctxt": { "key": "Mainline_Tasks1_10_Receiving", - "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + "text": "月光原石回到了它应该在的位置。" }, - "deliver_npc": 10102, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { @@ -454,6 +454,138 @@ "lock": 1, "lockend": 0, "ontxe": 20100, + "id_after": 20120, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_11", + "text": "召唤英雄" + }, + "npctxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "npc": 10110, + "completetasktxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "completetask": [ + 306 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_11_Receiving", + "text": "叩响【守护之地】的门扉,迎接英雄的到来。" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20120, + "lock": 1, + "lockend": 0, + "ontxe": 20110, + "id_after": 20130, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_12", + "text": "梦魇的诞生" + }, + "npctxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "npc": 10120, + "completetasktxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "completetask": [ + 307 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_12_Receiving", + "text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20130, + "lock": 1, + "lockend": 0, + "ontxe": 20120, + "id_after": 20140, + "group": 210, + "des": 2, + "icon": "", + "task_Tname": { + "key": "Mainline_Tasks1", + "text": "第一章:预言之声" + }, + "task_name": { + "key": "Mainline_Tasks1_13", + "text": "" + }, + "npctxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "消失的阴影" + }, + "npc": 10130, + "completetasktxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。" + }, + "completetask": [ + 0 + ], + "deliver_npctxt": { + "key": "Mainline_Tasks1_13_Receiving", + "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。" + }, + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ], + "module": [] + }, + { + "key": 20140, + "lock": 1, + "lockend": 0, + "ontxe": 20120, "id_after": 0, "group": 210, "des": 2, @@ -482,7 +614,7 @@ "key": "Mainline_Tasks1_11", "text": "敬请期待!" }, - "deliver_npc": 10110, + "deliver_npc": 0, "auto_accept": 0, "reword": [ { @@ -520,7 +652,7 @@ "text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。" }, "completetask": [ - 30001 + 0 ], "deliver_npctxt": { "key": "Side_Quest1_1_Receiving", @@ -564,7 +696,7 @@ "text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?" }, "completetask": [ - 30002 + 0 ], "deliver_npctxt": { "key": "Side_Quest2_1_Receiving", @@ -652,7 +784,7 @@ "text": "戈伯有事情找我,我或许该去看看。" }, "completetask": [ - 30003 + 0 ], "deliver_npctxt": { "key": "Side_Quest3_1_Receiving", @@ -740,7 +872,7 @@ "text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看" }, "completetask": [ - 30004 + 0 ], "deliver_npctxt": { "key": "Side_Quest4_1_Receiving", @@ -784,7 +916,7 @@ "text": "那不是小伊吗,她是在.....练武吗?" }, "completetask": [ - 30005 + 0 ], "deliver_npctxt": { "key": "Side_Quest5_1_Receiving", @@ -828,7 +960,7 @@ "text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?" }, "completetask": [ - 30006 + 0 ], "deliver_npctxt": { "key": "Side_Quest6_1_Receiving", diff --git a/modules/parkour/api_changemts.go b/modules/parkour/api_changemts.go index 951ada26a..433060b03 100644 --- a/modules/parkour/api_changemts.go +++ b/modules/parkour/api_changemts.go @@ -3,6 +3,7 @@ package parkour import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" ) //参数校验 @@ -13,9 +14,10 @@ func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourCh ///游戏 func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( - info *pb.DBParkour - team *pb.DBParkour - err error + info *pb.DBParkour + team *pb.DBParkour + mount *cfg.GameBuzkashiMountData + err error ) if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success { return @@ -29,12 +31,16 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM return } info.Dfmount = req.Mtsid - if info.Captainid != "" { + if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } if info.Captainid == session.GetUserId() { for _, v := range info.Member { if v.Uid == session.GetUserId() { v.Mount = info.Dfmount + v.Hp = mount.Hp } } if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ @@ -52,6 +58,7 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM for _, v := range team.Member { if v.Uid == session.GetUserId() { v.Mount = info.Dfmount + v.Hp = mount.Hp } } if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{ diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index 5e3d45222..03c737b5f 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" "time" ) @@ -18,6 +19,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) info *pb.DBParkour tinfo *pb.DBParkour tuser *pb.DBUser + mount *cfg.GameBuzkashiMountData ok bool err error ) @@ -36,24 +38,37 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) code = pb.ErrorCode_ReqParameterError return } + if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil { + code = pb.ErrorCode_SystemError + return + } + if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp, Isai: true}) + + if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { + code = pb.ErrorCode_DBError + return + } if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil { code = pb.ErrorCode_SystemError return } + if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { - info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Isai: true}) + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true}) } else { - if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { - code = pb.ErrorCode_DBError - return - } if tinfo.Captainid != "" { code = pb.ErrorCode_ParkourTargetTeamed return } - ok = false for _, v := range info.Invite { if v.Uid == req.Uid { diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go index 71684951c..7fc2cdb58 100644 --- a/modules/parkour/api_invitehandle.go +++ b/modules/parkour/api_invitehandle.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" "time" ) @@ -19,6 +20,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi tean *pb.DBParkour invite *pb.DBRaceInvite member *pb.DBRaceMember + mount *cfg.GameBuzkashiMountData users []string ok bool err error @@ -30,6 +32,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi code = pb.ErrorCode_DBError return } + if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil { code = pb.ErrorCode_DBError return @@ -53,7 +56,11 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi for i, v := range tean.Member { users[i] = v.Uid } - member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount} + if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } + member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount, Hp: mount.Hp} tean.Captainid = tean.Uid tean.Member = append(tean.Member, member) if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ diff --git a/modules/parkour/configure.go b/modules/parkour/configure.go index 919f2ef97..179827bf1 100644 --- a/modules/parkour/configure.go +++ b/modules/parkour/configure.go @@ -1,11 +1,18 @@ package parkour import ( + "fmt" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + cfg "go_dreamfactory/sys/configure/structs" ) -const () +const ( + game_buzkashigrade = "game_buzkashigrade.json" + game_buzkashilv = "game_buzkashilv.json" + game_buzkashimount = "game_buzkashimount.json" + game_buzkashireward = "game_buzkashireward.json" +) ///背包配置管理组件 type configureComp struct { @@ -17,6 +24,28 @@ type configureComp struct { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Parkour) - + this.LoadConfigure(game_buzkashigrade, cfg.NewGameBuzkashiGrade) + this.LoadConfigure(game_buzkashilv, cfg.NewGameBuzkashiLv) + this.LoadConfigure(game_buzkashimount, cfg.NewGameBuzkashiMount) + this.LoadConfigure(game_buzkashireward, cfg.NewGameBuzkashiReward) + return +} + +//查询坐骑表 +func (this *configureComp) getGameBuzkashiMount(id string) (configure *cfg.GameBuzkashiMountData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_buzkashimount); err != nil { + this.module.Errorln(err) + return + } else { + if configure, ok = v.(*cfg.GameBuzkashiMount).GetDataMap()[id]; !ok { + err = fmt.Errorf("not found:%s ", id) + this.module.Errorln(err) + return + } + } return } diff --git a/modules/parkour/core.go b/modules/parkour/core.go index 57eccd4e2..90d71a724 100644 --- a/modules/parkour/core.go +++ b/modules/parkour/core.go @@ -14,8 +14,12 @@ type RaceItem struct { lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象 RedMember []*pb.DBRaceMember //红方成员 RedSession []comm.IUserSession //红方会话 + RedScore int32 //红方分值 + RedEnergy int32 //红方能量 BuleMember []*pb.DBRaceMember //蓝方成员 BuleSession []comm.IUserSession //蓝方会话 + BuleScore int32 //蓝方分值 + BuleEnergy int32 //蓝方能量 overtimer *timewheel.Task //准备倒计时定时器 } diff --git a/modules/parkour/model_parkour.go b/modules/parkour/model_parkour.go index a43040cdb..ef03444d3 100644 --- a/modules/parkour/model_parkour.go +++ b/modules/parkour/model_parkour.go @@ -127,7 +127,7 @@ func (this *ModelParkourComp) queryinfo(uid string) (result *pb.DBParkour, err e State: pb.RaceTeamState_teaming, Mounts: make(map[string]int32), Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Member: []*pb.DBRaceMember{}, } if err = this.Add(uid, result); err != nil { this.module.Errorln(err) @@ -161,7 +161,7 @@ func (this *ModelParkourComp) queryinfos(uids []string) (results []*pb.DBParkour State: pb.RaceTeamState_teaming, Mounts: make(map[string]int32), Invite: make([]*pb.DBRaceInvite, 0), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Member: []*pb.DBRaceMember{}, } newdata[v] = temp } @@ -199,7 +199,7 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32) State: pb.RaceTeamState_teaming, Invite: make([]*pb.DBRaceInvite, 0), Mounts: make(map[string]int32), - Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}}, + Member: []*pb.DBRaceMember{}, } for k, _ := range mounts { diff --git a/modules/parkour/module.go b/modules/parkour/module.go index 5a1a32054..b6e239fdf 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -128,6 +128,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu if online { battle.RedSession = append(battle.RedSession, session) } + } else { + v.Ready = true } } @@ -141,6 +143,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu if online { battle.BuleSession = append(battle.BuleSession, session) } + } else { + v.Ready = true } } sessions = append(sessions, battle.BuleSession...) @@ -164,6 +168,7 @@ func (this *Parkour) startbattle(id string) { var ( battle *RaceItem ok bool + member []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0) sessions []comm.IUserSession = make([]comm.IUserSession, 0) err error ) @@ -171,9 +176,23 @@ func (this *Parkour) startbattle(id string) { battle, ok = this.battles[id] this.lock.RUnlock() if ok { + for _, v := range battle.RedMember { + if v.Isai { + member = append(member, v) + } + } + for _, v := range battle.BuleMember { + if v.Isai { + member = append(member, v) + } + } + if err = this.ai.createAi(battle.Id, member); err != nil { + this.Errorln(err) + return + } sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{ + if err = this.SendMsgToSession(string(comm.ModulePvp), "racestart", &pb.ParkourRaceStartPush{ Countdown: 3, }, sessions...); err != nil { this.Errorln(err) @@ -195,8 +214,9 @@ func (this *Parkour) shot(id string, uid string) { if ok { sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{ - Countdown: 3, + if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{ + Red: battle.RedScore, + Blue: battle.BuleScore, }, sessions...); err != nil { this.Errorln(err) } @@ -208,6 +228,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { var ( battle *RaceItem ok bool + member *pb.DBRaceMember sessions []comm.IUserSession = make([]comm.IUserSession, 0) err error ) @@ -215,10 +236,30 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { battle, ok = this.battles[id] this.lock.RUnlock() if ok { + ok = false + for _, v := range battle.RedMember { + if v.Uid == uid { + member = v + ok = true + } + } + if !ok { + for _, v := range battle.BuleMember { + if v.Uid == uid { + member = v + ok = true + } + } + } + if !ok { + this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid}) + return + } sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{ - Countdown: 3, + if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{ + Uid: uid, + Hp: member.Hp, }, sessions...); err != nil { this.Errorln(err) } @@ -231,6 +272,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { var ( battle *RaceItem ok bool + side int32 sessions []comm.IUserSession = make([]comm.IUserSession, 0) err error ) @@ -243,12 +285,16 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { delete(this.battles, id) this.lock.Unlock() this.raceComp.delrace(id) + this.ai.removeAi(id) + if battle.RedScore > battle.BuleScore { + side = 1 + } else { + side = 2 + } sessions = append(sessions, battle.RedSession...) sessions = append(sessions, battle.BuleSession...) - if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceOverPush{ - Race: &pb.DBRace{ - Id: battle.Id, - }, + if err = this.SendMsgToSession(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{ + Winside: side, }, sessions...); err != nil { this.Errorln(err) return diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go index abbe20f21..b7feda341 100644 --- a/pb/parkour_msg.pb.go +++ b/pb/parkour_msg.pb.go @@ -1248,6 +1248,8 @@ type ParkourAllSprintsPush struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Left int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left"` //剩余时间 } func (x *ParkourAllSprintsPush) Reset() { @@ -1282,17 +1284,25 @@ func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26} } -//比赛数值变化推送 -type ParkourRaceChanagePush struct { +func (x *ParkourAllSprintsPush) GetLeft() int32 { + if x != nil { + return x.Left + } + return 0 +} + +//玩家hp变化通知 +type ParkourPlayerHPChanagePush struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"` + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` + Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"` } -func (x *ParkourRaceChanagePush) Reset() { - *x = ParkourRaceChanagePush{} +func (x *ParkourPlayerHPChanagePush) Reset() { + *x = ParkourPlayerHPChanagePush{} if protoimpl.UnsafeEnabled { mi := &file_parkour_parkour_msg_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1300,13 +1310,13 @@ func (x *ParkourRaceChanagePush) Reset() { } } -func (x *ParkourRaceChanagePush) String() string { +func (x *ParkourPlayerHPChanagePush) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParkourRaceChanagePush) ProtoMessage() {} +func (*ParkourPlayerHPChanagePush) ProtoMessage() {} -func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message { +func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message { mi := &file_parkour_parkour_msg_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1318,31 +1328,94 @@ func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParkourRaceChanagePush.ProtoReflect.Descriptor instead. -func (*ParkourRaceChanagePush) Descriptor() ([]byte, []int) { +// Deprecated: Use ParkourPlayerHPChanagePush.ProtoReflect.Descriptor instead. +func (*ParkourPlayerHPChanagePush) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27} } -func (x *ParkourRaceChanagePush) GetRace() *DBRace { +func (x *ParkourPlayerHPChanagePush) GetUid() string { if x != nil { - return x.Race + return x.Uid } - return nil + return "" } -//比赛 +func (x *ParkourPlayerHPChanagePush) GetHp() int32 { + if x != nil { + return x.Hp + } + return 0 +} + +//比赛分值变化 +type ParkourScoreChanagePush struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Red int32 `protobuf:"varint,1,opt,name=red,proto3" json:"red"` + Blue int32 `protobuf:"varint,2,opt,name=blue,proto3" json:"blue"` +} + +func (x *ParkourScoreChanagePush) Reset() { + *x = ParkourScoreChanagePush{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourScoreChanagePush) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourScoreChanagePush) ProtoMessage() {} + +func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[28] + 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 ParkourScoreChanagePush.ProtoReflect.Descriptor instead. +func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} +} + +func (x *ParkourScoreChanagePush) GetRed() int32 { + if x != nil { + return x.Red + } + return 0 +} + +func (x *ParkourScoreChanagePush) GetBlue() int32 { + if x != nil { + return x.Blue + } + return 0 +} + +//比赛结束通知 type ParkourRaceOverPush struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"` + Winside int32 `protobuf:"varint,1,opt,name=winside,proto3" json:"winside"` //0平局 1 红方胜利 2 蓝方胜利 } func (x *ParkourRaceOverPush) Reset() { *x = ParkourRaceOverPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1355,7 +1428,7 @@ func (x *ParkourRaceOverPush) String() string { func (*ParkourRaceOverPush) ProtoMessage() {} func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1368,14 +1441,14 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead. func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29} } -func (x *ParkourRaceOverPush) GetRace() *DBRace { +func (x *ParkourRaceOverPush) GetWinside() int32 { if x != nil { - return x.Race + return x.Winside } - return nil + return 0 } ///匹配请求 RPC消息定义 服务器自用 客户端不用理会 @@ -1391,7 +1464,7 @@ type RPCParkourJoinMatchReq struct { func (x *RPCParkourJoinMatchReq) Reset() { *x = RPCParkourJoinMatchReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[29] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1404,7 +1477,7 @@ func (x *RPCParkourJoinMatchReq) String() string { func (*RPCParkourJoinMatchReq) ProtoMessage() {} func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[29] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1417,7 +1490,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30} } func (x *RPCParkourJoinMatchReq) GetCaptainid() string { @@ -1444,7 +1517,7 @@ type RPCParkourJoinMatchResp struct { func (x *RPCParkourJoinMatchResp) Reset() { *x = RPCParkourJoinMatchResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[30] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1457,7 +1530,7 @@ func (x *RPCParkourJoinMatchResp) String() string { func (*RPCParkourJoinMatchResp) ProtoMessage() {} func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[30] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1470,7 +1543,7 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} } ///匹配成功通知请求 @@ -1486,7 +1559,7 @@ type RPCParkourMatchSuccReq struct { func (x *RPCParkourMatchSuccReq) Reset() { *x = RPCParkourMatchSuccReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[31] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1572,7 @@ func (x *RPCParkourMatchSuccReq) String() string { func (*RPCParkourMatchSuccReq) ProtoMessage() {} func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[31] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1585,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} } func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember { @@ -1539,7 +1612,7 @@ type RPCParkourMatchSuccResp struct { func (x *RPCParkourMatchSuccResp) Reset() { *x = RPCParkourMatchSuccResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1552,7 +1625,7 @@ func (x *RPCParkourMatchSuccResp) String() string { func (*RPCParkourMatchSuccResp) ProtoMessage() {} func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1565,7 +1638,7 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33} } var File_parkour_parkour_msg_proto protoreflect.FileDescriptor @@ -1653,31 +1726,37 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{ 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x17, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, - 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, - 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, - 0x32, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, - 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, - 0x61, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, - 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, - 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, - 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, - 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, - 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43, + 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, + 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, + 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, + 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, + 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, + 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, + 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, + 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1692,7 +1771,7 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte { return file_parkour_parkour_msg_proto_rawDescData } -var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourInfoReq)(nil), // 0: ParkourInfoReq (*ParkourInfoResp)(nil), // 1: ParkourInfoResp @@ -1721,36 +1800,35 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourAvoidReq)(nil), // 24: ParkourAvoidReq (*ParkourAvoidResp)(nil), // 25: ParkourAvoidResp (*ParkourAllSprintsPush)(nil), // 26: ParkourAllSprintsPush - (*ParkourRaceChanagePush)(nil), // 27: ParkourRaceChanagePush - (*ParkourRaceOverPush)(nil), // 28: ParkourRaceOverPush - (*RPCParkourJoinMatchReq)(nil), // 29: RPCParkourJoinMatchReq - (*RPCParkourJoinMatchResp)(nil), // 30: RPCParkourJoinMatchResp - (*RPCParkourMatchSuccReq)(nil), // 31: RPCParkourMatchSuccReq - (*RPCParkourMatchSuccResp)(nil), // 32: RPCParkourMatchSuccResp - (*DBParkour)(nil), // 33: DBParkour - (*DBRaceMember)(nil), // 34: DBRaceMember - (*DBRace)(nil), // 35: DBRace + (*ParkourPlayerHPChanagePush)(nil), // 27: ParkourPlayerHPChanagePush + (*ParkourScoreChanagePush)(nil), // 28: ParkourScoreChanagePush + (*ParkourRaceOverPush)(nil), // 29: ParkourRaceOverPush + (*RPCParkourJoinMatchReq)(nil), // 30: RPCParkourJoinMatchReq + (*RPCParkourJoinMatchResp)(nil), // 31: RPCParkourJoinMatchResp + (*RPCParkourMatchSuccReq)(nil), // 32: RPCParkourMatchSuccReq + (*RPCParkourMatchSuccResp)(nil), // 33: RPCParkourMatchSuccResp + (*DBParkour)(nil), // 34: DBParkour + (*DBRaceMember)(nil), // 35: DBRaceMember + (*DBRace)(nil), // 36: DBRace } var file_parkour_parkour_msg_proto_depIdxs = []int32{ - 33, // 0: ParkourInfoResp.info:type_name -> DBParkour - 33, // 1: ParkourInfoResp.recommend:type_name -> DBParkour - 33, // 2: ParkourInfoChangePush.info:type_name -> DBParkour - 33, // 3: ParkourInviteResp.team:type_name -> DBParkour - 33, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour - 33, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour - 34, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember - 34, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember - 35, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace - 35, // 9: ParkourRaceChanagePush.race:type_name -> DBRace - 35, // 10: ParkourRaceOverPush.race:type_name -> DBRace - 34, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember - 34, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember - 34, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 34, // 0: ParkourInfoResp.info:type_name -> DBParkour + 34, // 1: ParkourInfoResp.recommend:type_name -> DBParkour + 34, // 2: ParkourInfoChangePush.info:type_name -> DBParkour + 34, // 3: ParkourInviteResp.team:type_name -> DBParkour + 34, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour + 34, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour + 35, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember + 35, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember + 36, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace + 35, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember + 35, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember + 35, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_parkour_parkour_msg_proto_init() } @@ -2085,7 +2163,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceChanagePush); i { + switch v := v.(*ParkourPlayerHPChanagePush); i { case 0: return &v.state case 1: @@ -2097,7 +2175,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceOverPush); i { + switch v := v.(*ParkourScoreChanagePush); i { case 0: return &v.state case 1: @@ -2109,7 +2187,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchReq); i { + switch v := v.(*ParkourRaceOverPush); i { case 0: return &v.state case 1: @@ -2121,7 +2199,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchResp); i { + switch v := v.(*RPCParkourJoinMatchReq); i { case 0: return &v.state case 1: @@ -2133,7 +2211,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourMatchSuccReq); i { + switch v := v.(*RPCParkourJoinMatchResp); i { case 0: return &v.state case 1: @@ -2145,6 +2223,18 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourMatchSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RPCParkourMatchSuccResp); i { case 0: return &v.state @@ -2163,7 +2253,7 @@ func file_parkour_parkour_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_parkour_parkour_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 33, + NumMessages: 34, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.BuzkashiGrade.go b/sys/configure/structs/Game.BuzkashiGrade.go new file mode 100644 index 000000000..844167a60 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiGrade.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameBuzkashiGrade struct { + _dataMap map[int32]*GameBuzkashiGradeData + _dataList []*GameBuzkashiGradeData +} + +func NewGameBuzkashiGrade(_buf []map[string]interface{}) (*GameBuzkashiGrade, error) { + _dataList := make([]*GameBuzkashiGradeData, 0, len(_buf)) + dataMap := make(map[int32]*GameBuzkashiGradeData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameBuzkashiGradeData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Num] = _v + } + } + return &GameBuzkashiGrade{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameBuzkashiGrade) GetDataMap() map[int32]*GameBuzkashiGradeData { + return table._dataMap +} + +func (table *GameBuzkashiGrade) GetDataList() []*GameBuzkashiGradeData { + return table._dataList +} + +func (table *GameBuzkashiGrade) Get(key int32) *GameBuzkashiGradeData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.BuzkashiGradeData.go b/sys/configure/structs/Game.BuzkashiGradeData.go new file mode 100644 index 000000000..58cefc9c3 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiGradeData.go @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameBuzkashiGradeData struct { + Num int32 + Distance string + Value int32 +} + +const TypeId_GameBuzkashiGradeData = -378990226 + +func (*GameBuzkashiGradeData) GetTypeId() int32 { + return -378990226 +} + +func (_v *GameBuzkashiGradeData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) } + { var _ok_ bool; if _v.Distance, _ok_ = _buf["distance"].(string); !_ok_ { err = errors.New("distance error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) } + return +} + +func DeserializeGameBuzkashiGradeData(_buf map[string]interface{}) (*GameBuzkashiGradeData, error) { + v := &GameBuzkashiGradeData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.BuzkashiLv.go b/sys/configure/structs/Game.BuzkashiLv.go new file mode 100644 index 000000000..5c4c1a3f2 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiLv.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameBuzkashiLv struct { + _dataMap map[int32]*GameBuzkashiLvData + _dataList []*GameBuzkashiLvData +} + +func NewGameBuzkashiLv(_buf []map[string]interface{}) (*GameBuzkashiLv, error) { + _dataList := make([]*GameBuzkashiLvData, 0, len(_buf)) + dataMap := make(map[int32]*GameBuzkashiLvData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameBuzkashiLvData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Num] = _v + } + } + return &GameBuzkashiLv{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameBuzkashiLv) GetDataMap() map[int32]*GameBuzkashiLvData { + return table._dataMap +} + +func (table *GameBuzkashiLv) GetDataList() []*GameBuzkashiLvData { + return table._dataList +} + +func (table *GameBuzkashiLv) Get(key int32) *GameBuzkashiLvData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.BuzkashiLvData.go b/sys/configure/structs/Game.BuzkashiLvData.go new file mode 100644 index 000000000..ad32def00 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiLvData.go @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameBuzkashiLvData struct { + Num int32 + Score string + Value int32 +} + +const TypeId_GameBuzkashiLvData = -1108462041 + +func (*GameBuzkashiLvData) GetTypeId() int32 { + return -1108462041 +} + +func (_v *GameBuzkashiLvData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) } + { var _ok_ bool; if _v.Score, _ok_ = _buf["score"].(string); !_ok_ { err = errors.New("score error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) } + return +} + +func DeserializeGameBuzkashiLvData(_buf map[string]interface{}) (*GameBuzkashiLvData, error) { + v := &GameBuzkashiLvData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.BuzkashiMount.go b/sys/configure/structs/Game.BuzkashiMount.go new file mode 100644 index 000000000..256db7a82 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiMount.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameBuzkashiMount struct { + _dataMap map[string]*GameBuzkashiMountData + _dataList []*GameBuzkashiMountData +} + +func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) { + _dataList := make([]*GameBuzkashiMountData, 0, len(_buf)) + dataMap := make(map[string]*GameBuzkashiMountData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Num] = _v + } + } + return &GameBuzkashiMount{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameBuzkashiMount) GetDataMap() map[string]*GameBuzkashiMountData { + return table._dataMap +} + +func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData { + return table._dataList +} + +func (table *GameBuzkashiMount) Get(key string) *GameBuzkashiMountData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.BuzkashiMountData.go b/sys/configure/structs/Game.BuzkashiMountData.go new file mode 100644 index 000000000..503940851 --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiMountData.go @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameBuzkashiMountData struct { + Num string + Stime int32 + Etime int32 + Hp int32 + Model string + Point string + Moderate int32 + Sprint int32 + Acceleration int32 + Deceleration int32 +} + +const TypeId_GameBuzkashiMountData = 1598069936 + +func (*GameBuzkashiMountData) GetTypeId() int32 { + return 1598069936 +} + +func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; if _v.Num, _ok_ = _buf["num"].(string); !_ok_ { err = errors.New("num error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stime"].(float64); !_ok_ { err = errors.New("stime error"); return }; _v.Stime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["etime"].(float64); !_ok_ { err = errors.New("etime error"); return }; _v.Etime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) } + { var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } } + { var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["moderate"].(float64); !_ok_ { err = errors.New("moderate error"); return }; _v.Moderate = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sprint"].(float64); !_ok_ { err = errors.New("sprint error"); return }; _v.Sprint = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["acceleration"].(float64); !_ok_ { err = errors.New("acceleration error"); return }; _v.Acceleration = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deceleration"].(float64); !_ok_ { err = errors.New("deceleration error"); return }; _v.Deceleration = int32(_tempNum_) } + return +} + +func DeserializeGameBuzkashiMountData(_buf map[string]interface{}) (*GameBuzkashiMountData, error) { + v := &GameBuzkashiMountData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.BuzkashiReward.go b/sys/configure/structs/Game.BuzkashiReward.go new file mode 100644 index 000000000..8afd2c6cb --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiReward.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameBuzkashiReward struct { + _dataMap map[int32]*GameBuzkashiRewardData + _dataList []*GameBuzkashiRewardData +} + +func NewGameBuzkashiReward(_buf []map[string]interface{}) (*GameBuzkashiReward, error) { + _dataList := make([]*GameBuzkashiRewardData, 0, len(_buf)) + dataMap := make(map[int32]*GameBuzkashiRewardData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameBuzkashiRewardData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Key] = _v + } + } + return &GameBuzkashiReward{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameBuzkashiReward) GetDataMap() map[int32]*GameBuzkashiRewardData { + return table._dataMap +} + +func (table *GameBuzkashiReward) GetDataList() []*GameBuzkashiRewardData { + return table._dataList +} + +func (table *GameBuzkashiReward) Get(key int32) *GameBuzkashiRewardData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.BuzkashiRewardData.go b/sys/configure/structs/Game.BuzkashiRewardData.go new file mode 100644 index 000000000..cf44a2e1f --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiRewardData.go @@ -0,0 +1,52 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameBuzkashiRewardData struct { + Key int32 + Schedule int32 + Reword []*Gameatn +} + +const TypeId_GameBuzkashiRewardData = -1577911348 + +func (*GameBuzkashiRewardData) GetTypeId() int32 { + return -1577911348 +} + +func (_v *GameBuzkashiRewardData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["schedule"].(float64); !_ok_ { err = errors.New("schedule error"); return }; _v.Schedule = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return } + + _v.Reword = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.Reword = append(_v.Reword, _list_v_) + } + } + + return +} + +func DeserializeGameBuzkashiRewardData(_buf map[string]interface{}) (*GameBuzkashiRewardData, error) { + v := &GameBuzkashiRewardData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.MainStageData.go b/sys/configure/structs/Game.MainStageData.go index 68dd64ce0..8a6ebc062 100644 --- a/sys/configure/structs/Game.MainStageData.go +++ b/sys/configure/structs/Game.MainStageData.go @@ -19,6 +19,7 @@ type GameMainStageData struct { Openlevel int32 Episodelocation serialization.Vector3 EditorStage int32 + Detailwindow string Frontstoryid int32 Afterstoryid int32 MainlineName string @@ -59,6 +60,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EditorStage"].(float64); !_ok_ { err = errors.New("EditorStage error"); return }; _v.EditorStage = int32(_tempNum_) } + { var _ok_ bool; if _v.Detailwindow, _ok_ = _buf["detailwindow"].(string); !_ok_ { err = errors.New("detailwindow error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } diff --git a/sys/configure/structs/Game.Navigation.go b/sys/configure/structs/Game.Navigation.go new file mode 100644 index 000000000..66b6a814a --- /dev/null +++ b/sys/configure/structs/Game.Navigation.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameNavigation struct { + _dataMap map[int32]*GameNavigationData + _dataList []*GameNavigationData +} + +func NewGameNavigation(_buf []map[string]interface{}) (*GameNavigation, error) { + _dataList := make([]*GameNavigationData, 0, len(_buf)) + dataMap := make(map[int32]*GameNavigationData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameNavigationData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameNavigation{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameNavigation) GetDataMap() map[int32]*GameNavigationData { + return table._dataMap +} + +func (table *GameNavigation) GetDataList() []*GameNavigationData { + return table._dataList +} + +func (table *GameNavigation) Get(key int32) *GameNavigationData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.NavigationData.go b/sys/configure/structs/Game.NavigationData.go new file mode 100644 index 000000000..293610cc0 --- /dev/null +++ b/sys/configure/structs/Game.NavigationData.go @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameNavigationData struct { + Id int32 + Scene string + Scenename string + Sceneicon string + Functionname string + NpcName string + Functionicon string +} + +const TypeId_GameNavigationData = -800652966 + +func (*GameNavigationData) GetTypeId() int32 { + return -800652966 +} + +func (_v *GameNavigationData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Id"].(float64); !_ok_ { err = errors.New("Id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; if _v.Scene, _ok_ = _buf["scene"].(string); !_ok_ { err = errors.New("scene error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["scenename"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Scenename error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Scenename, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; if _v.Sceneicon, _ok_ = _buf["sceneicon"].(string); !_ok_ { err = errors.New("sceneicon error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["functionname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Functionname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Functionname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; if _v.NpcName, _ok_ = _buf["npcName"].(string); !_ok_ { err = errors.New("npcName error"); return } } + { var _ok_ bool; if _v.Functionicon, _ok_ = _buf["functionicon"].(string); !_ok_ { err = errors.New("functionicon error"); return } } + return +} + +func DeserializeGameNavigationData(_buf map[string]interface{}) (*GameNavigationData, error) { + v := &GameNavigationData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 5c53fea6d..95775d48d 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -189,6 +189,11 @@ type Tables struct { Favorability *GameFavorability Friends *GameFriends CampLv *GameCampLv + Navigation *GameNavigation + BuzkashiMount *GameBuzkashiMount + BuzkashiLv *GameBuzkashiLv + BuzkashiGrade *GameBuzkashiGrade + BuzkashiReward *GameBuzkashiReward } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1264,5 +1269,35 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.CampLv, err = NewGameCampLv(buf) ; err != nil { return nil, err } + if buf, err = loader("game_navigation") ; err != nil { + return nil, err + } + if tables.Navigation, err = NewGameNavigation(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_buzkashimount") ; err != nil { + return nil, err + } + if tables.BuzkashiMount, err = NewGameBuzkashiMount(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_buzkashilv") ; err != nil { + return nil, err + } + if tables.BuzkashiLv, err = NewGameBuzkashiLv(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_buzkashigrade") ; err != nil { + return nil, err + } + if tables.BuzkashiGrade, err = NewGameBuzkashiGrade(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_buzkashireward") ; err != nil { + return nil, err + } + if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil { + return nil, err + } return tables, nil } diff --git a/sys/configure/structs/game.coinData.go b/sys/configure/structs/game.coinData.go index 9066ab081..2ea0aa957 100644 --- a/sys/configure/structs/game.coinData.go +++ b/sys/configure/structs/game.coinData.go @@ -28,7 +28,7 @@ func (*GameCoinData) GetTypeId() int32 { func (_v *GameCoinData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } } - { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } { var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) } From 49c99c2843676b4ac1d163f06c8bcdc8100d5534 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 17:12:35 +0800 Subject: [PATCH 12/22] update --- comm/imodule.go | 2 +- modules/gm/module.go | 15 +-- modules/worldtask/api_completetask.go | 6 ++ modules/worldtask/module.go | 129 ++++++++++++-------------- 4 files changed, 68 insertions(+), 84 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index b054a7607..fcc0270c0 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -379,7 +379,7 @@ type ( // TaskcondNotify(session IUserSession, condId int32) error TaskCondFinishNotify(session IUserSession, condId int32) error // bingo所有任务 - BingoAllTask(session IUserSession) error + // BingoAllTask(session IUserSession) error // bingo任务 BingoJumpTask(session IUserSession, groupId, rtaskId int32) error // 查询我的世界任务 diff --git a/modules/gm/module.go b/modules/gm/module.go index 0430ae0a0..9db98e660 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -285,20 +285,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "0", Value: datas[1]}, ) - } else if len(datas) == 1 && (datas[0] == "alltask") { // 完成所有世界任务 - module, err := this.service.GetModule(comm.ModuleWorldtask) - if err != nil { - return - } - if wt, ok := module.(comm.IWorldtask); ok { - if err = wt.BingoAllTask(session); err != nil { - this.Error("bingo 世界任务", - log.Field{Key: "param", Value: datas}, - log.Field{Key: "err", Value: err.Error()}) - } - } - - } else if len(datas) == 1 && (datas[0] == "allgrowtask") { // 完成所有成长任务 + } else if len(datas) == 1 && (datas[0] == "allgrowtask") { // 完成所有成长任务 module, err := this.service.GetModule(comm.ModuleGrowtask) if err != nil { return diff --git a/modules/worldtask/api_completetask.go b/modules/worldtask/api_completetask.go index b4ab3fdff..dd339c9b0 100644 --- a/modules/worldtask/api_completetask.go +++ b/modules/worldtask/api_completetask.go @@ -41,6 +41,7 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC return } + myWorldtask.Uid = uid wt := myWorldtask.CurrentTask[req.GroupId] if m, err := this.module.service.GetModule(comm.ModuleRtask); err == nil { iwt, ok := m.(comm.IRtask) @@ -77,5 +78,10 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC session.SendMsg(string(this.module.GetType()), "completecondi", rsp) + //结束任务 + if curTaskConf.DeliverNpc == 0 { + this.module.modelWorldtask.taskFinish(session, req.GroupId, req.TaskId, myWorldtask, curTaskConf) + this.module.modelWorldtask.taskFinishPush(session, req.GroupId, myWorldtask, curTaskConf) + } return } diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index f88021989..c03c7b002 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -72,7 +72,7 @@ func (this *Worldtask) TaskCondFinishNotify(session comm.IUserSession, condId in if v == condId { //校验任务是否是当前任务 if task, ok := userTask.CurrentTask[c.Group]; ok { - if task.NpcStatus == 1 && c.Key == task.TaskId{ + if task.NpcStatus == 1 && c.Key == task.TaskId { finishedTaskIds[c.Group] = c.Key groupId = c.Group taskId = c.Key @@ -141,81 +141,72 @@ func (this *Worldtask) GetMyWorldtask(uid string) *pb.DBWorldtask { return wt } -func (this *Worldtask) BingoAllTask(session comm.IUserSession) error { - // uid := session.GetUserId() - // mytask := &pb.DBWorldtask{Uid: uid} - - // tasklist := this.worldtaskConf.GetDataList() - - // for _, conf := range tasklist { - // //世界任务配置 - // wt := &pb.Worldtask{ - // TaskId: conf.Key, - // TaskType: conf.Des, - // } - // mytask.TaskList = append(mytask.TaskList, wt) - // } - - // if err := this.modelWorldtask.Add(uid, mytask); err != nil { - // return err - // } - - // rsp := &pb.WorldtaskFinishIdsPush{ - // TaskList: mytask.TaskList, - // } - - return nil //session.SendMsg(string(this.GetType()), "finishids", rsp) -} - // bingo世界任务跳跃 支持回退 func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId int32) error { - // uid := session.GetUserId() - // mytask, err := this.modelWorldtask.getWorldtask(uid) - // if err != nil { - // return err - // } - // mytask.Uid = uid - // // 更新数据 - // update := map[string]interface{}{} + uid := session.GetUserId() + // 更新数据 + update := make(map[string]interface{}) - // taskConf := this.worldtaskConf.GetDataMap()[taskId] - // if taskConf == nil { - // return fmt.Errorf("taskId: %v config is nil", taskId) - // } + mytask, err := this.modelWorldtask.getWorldtask(uid) + if err != nil { + return err + } - // //重置taskList - // mytask.TaskList = []*pb.Worldtask{} + if mytask == nil { + mytask = &pb.DBWorldtask{} + mytask.Uid = uid + if err := this.modelWorldtask.Add(uid, mytask); err != nil { + this.Error("添加世界任务失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err}) + return err + } + } - // //遍历 - // if taskConf.Ontxe != 0 && taskConf.IdAfter != 0 { - // for _, v := range this.worldtaskConf.GetDataList() { - // if v.Group == groupId && v.Key <= taskId { - // wt := &pb.Worldtask{ - // TaskId: v.Key, - // TaskType: v.Des, - // } - // mytask.TaskList = append(mytask.TaskList, wt) - // } + if _, ok := utils.Findx(mytask.TaskList, taskId); ok { + this.Error("GM 任务已完成", log.Field{Key: "taskId", Value: taskId}) + return comm.NewCustomError(pb.ErrorCode_WorldtaskFinihed) + } - // } - // } else { - // wt := &pb.Worldtask{ - // TaskId: taskId, - // TaskType: taskConf.Des, - // } - // mytask.TaskList = append(mytask.TaskList, wt) - // } - // update = map[string]interface{}{ - // "taskList": mytask.TaskList, - // } + taskConf := this.worldtaskConf.GetDataMap()[taskId] + if taskConf == nil { + return comm.NewCustomError(pb.ErrorCode_ConfigNoFound) + } - // if err := this.modelWorldtask.Change(uid, update); err != nil { - // return err - // } + //重置taskList + mytask.TaskList = []int32{} - // rsp := &pb.WorldtaskFinishIdsPush{ - // TaskList: mytask.TaskList, - // } + //遍历 + if taskConf.Ontxe != 0 && taskConf.IdAfter != 0 { + for _, v := range this.worldtaskConf.GetDataList() { + if v.Group == groupId && v.Key <= taskId && v.Des == 2 { //只做主线的des=2 + mytask.TaskList = append(mytask.TaskList, v.Key) + } + } + } else { + mytask.TaskList = append(mytask.TaskList, taskId) + } - return nil //session.SendMsg(string(this.GetType()), "finishids", rsp) + update = map[string]interface{}{ + "taskList": mytask.TaskList, + } + + //当前任务 + nextTaskIds := this.modelWorldtask.findNextTasks(taskId) + + if mytask.CurrentTask == nil { + mytask.CurrentTask = make(map[int32]*pb.Worldtask) + } + + if len(nextTaskIds) == 1 { + mytask.CurrentTask[groupId] = &pb.Worldtask{ + TaskId: nextTaskIds[0], + } + } + + if err := this.modelWorldtask.Change(uid, update); err != nil { + return err + } + + rsp := &pb.WorldtaskFinishIdsPush{} + + return session.SendMsg(string(this.GetType()), "finishids", rsp) } From 631c9245144fddf1dedd28e230f4b3a59f0bc17c Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 18:24:10 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E4=B8=96=E7=95=8C=E4=BB=BB=E5=8A=A1GM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/views/reputation.go | 18 ++++- modules/worldtask/module.go | 5 +- pb/reputation_msg.pb.go | 134 ++++++++++++++++++++++++++++++---- 3 files changed, 138 insertions(+), 19 deletions(-) diff --git a/cmd/v2/ui/views/reputation.go b/cmd/v2/ui/views/reputation.go index 704eece40..ca3d13f44 100644 --- a/cmd/v2/ui/views/reputation.go +++ b/cmd/v2/ui/views/reputation.go @@ -37,7 +37,17 @@ func (d *ReputationView) CreateView(t *model.TestCase) fyne.CanvasObject { ) form.OnSubmit = func() { - + if err := service.GetPttService().SendToClient( + t.MainType, + "talenttest", + &pb.ReputationTalenttestReq{ + RaceType: cast.ToInt32(zy), + FriendValue: cast.ToInt32(fv), + }, + ); err != nil { + logrus.Error(err) + return + } } paiWin := dialog.NewCustom("升级", "关闭", form, d.w) @@ -69,7 +79,11 @@ func (d *ReputationView) CreateView(t *model.TestCase) fyne.CanvasObject { paiWin.Show() }) - topBtns := container.NewHBox(swBtn, upgradeBtn) + resetBtn := widget.NewButton("重置", func() { + + }) + + topBtns := container.NewHBox(swBtn, upgradeBtn, resetBtn) c := container.NewBorder(topBtns, nil, nil, nil, d.itemList.ItemList) return c } diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index c03c7b002..8d4af8e66 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -144,8 +144,6 @@ func (this *Worldtask) GetMyWorldtask(uid string) *pb.DBWorldtask { // bingo世界任务跳跃 支持回退 func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId int32) error { uid := session.GetUserId() - // 更新数据 - update := make(map[string]interface{}) mytask, err := this.modelWorldtask.getWorldtask(uid) if err != nil { @@ -185,7 +183,7 @@ func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId mytask.TaskList = append(mytask.TaskList, taskId) } - update = map[string]interface{}{ + update := map[string]interface{}{ "taskList": mytask.TaskList, } @@ -200,6 +198,7 @@ func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId mytask.CurrentTask[groupId] = &pb.Worldtask{ TaskId: nextTaskIds[0], } + update["currentTask"] = mytask.CurrentTask } if err := this.modelWorldtask.Change(uid, update); err != nil { diff --git a/pb/reputation_msg.pb.go b/pb/reputation_msg.pb.go index 5bb87a135..39fd18db4 100644 --- a/pb/reputation_msg.pb.go +++ b/pb/reputation_msg.pb.go @@ -294,6 +294,83 @@ func (x *ReputationTalentResp) GetCamp() *Camp { return nil } +// 天赋树重置 +type ReputationTalentresetReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReputationTalentresetReq) Reset() { + *x = ReputationTalentresetReq{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalentresetReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalentresetReq) ProtoMessage() {} + +func (x *ReputationTalentresetReq) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[6] + 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 ReputationTalentresetReq.ProtoReflect.Descriptor instead. +func (*ReputationTalentresetReq) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{6} +} + +type ReputationTalentresetResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReputationTalentresetResp) Reset() { + *x = ReputationTalentresetResp{} + if protoimpl.UnsafeEnabled { + mi := &file_reputation_reputation_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReputationTalentresetResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReputationTalentresetResp) ProtoMessage() {} + +func (x *ReputationTalentresetResp) ProtoReflect() protoreflect.Message { + mi := &file_reputation_reputation_msg_proto_msgTypes[7] + 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 ReputationTalentresetResp.ProtoReflect.Descriptor instead. +func (*ReputationTalentresetResp) Descriptor() ([]byte, []int) { + return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{7} +} + var File_reputation_reputation_msg_proto protoreflect.FileDescriptor var file_reputation_reputation_msg_proto_rawDesc = []byte{ @@ -320,8 +397,11 @@ var file_reputation_reputation_msg_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04, - 0x63, 0x61, 0x6d, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x61, 0x6d, 0x70, 0x22, 0x1a, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x22, 0x1b, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, + 0x6c, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -336,20 +416,22 @@ func file_reputation_reputation_msg_proto_rawDescGZIP() []byte { return file_reputation_reputation_msg_proto_rawDescData } -var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_reputation_reputation_msg_proto_goTypes = []interface{}{ - (*ReputationTalenttestReq)(nil), // 0: reputationTalenttestReq - (*ReputationTalenttestResp)(nil), // 1: reputationTalenttestResp - (*ReputationUpgradeReq)(nil), // 2: reputationUpgradeReq - (*ReputationUpgradeResp)(nil), // 3: reputationUpgradeResp - (*ReputationTalentReq)(nil), // 4: reputationTalentReq - (*ReputationTalentResp)(nil), // 5: reputationTalentResp - (*CampAttr)(nil), // 6: CampAttr - (*Camp)(nil), // 7: Camp + (*ReputationTalenttestReq)(nil), // 0: reputationTalenttestReq + (*ReputationTalenttestResp)(nil), // 1: reputationTalenttestResp + (*ReputationUpgradeReq)(nil), // 2: reputationUpgradeReq + (*ReputationUpgradeResp)(nil), // 3: reputationUpgradeResp + (*ReputationTalentReq)(nil), // 4: reputationTalentReq + (*ReputationTalentResp)(nil), // 5: reputationTalentResp + (*ReputationTalentresetReq)(nil), // 6: reputationTalentresetReq + (*ReputationTalentresetResp)(nil), // 7: reputationTalentresetResp + (*CampAttr)(nil), // 8: CampAttr + (*Camp)(nil), // 9: Camp } var file_reputation_reputation_msg_proto_depIdxs = []int32{ - 6, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr - 7, // 1: reputationTalentResp.camp:type_name -> Camp + 8, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr + 9, // 1: reputationTalentResp.camp:type_name -> Camp 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -436,6 +518,30 @@ func file_reputation_reputation_msg_proto_init() { return nil } } + file_reputation_reputation_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationTalentresetReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_reputation_reputation_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReputationTalentresetResp); 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{ @@ -443,7 +549,7 @@ func file_reputation_reputation_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_reputation_reputation_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, From 52e08a5c7aa80d9c76fea1511827611de881cb9a Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 18:42:24 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E5=A4=A9=E8=B5=8B=E6=A0=91=E9=87=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/reputation/api_reset.go | 40 +++++++++++++++++++++++++++++++++ pb/reputation_msg.pb.go | 21 ++++++++++++----- 2 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 modules/reputation/api_reset.go diff --git a/modules/reputation/api_reset.go b/modules/reputation/api_reset.go new file mode 100644 index 000000000..695ae2ba8 --- /dev/null +++ b/modules/reputation/api_reset.go @@ -0,0 +1,40 @@ +package reputation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +func (this *apiComp) ResetCheck(session comm.IUserSession, req *pb.ReputationTalentresetReq) (code pb.ErrorCode) { + if req.RaceType < 1 && req.RaceType > 4 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) Reset(session comm.IUserSession, req *pb.ReputationTalentresetReq) (code pb.ErrorCode, data *pb.ErrorData) { + uid := session.GetUserId() + reputation := this.module.modelReputation.getDBReputation(uid) + if reputation == nil { + code = pb.ErrorCode_DataNotFound + return + } + + if v, ok := reputation.Camps[req.RaceType]; ok { + v.Nodes = []*pb.TalentNode{} + } + + update := map[string]interface{}{ + "camps": reputation.Camps, + } + + if err := this.module.modelReputation.Change(uid, update); err != nil { + code = pb.ErrorCode_DBError + return + } + + rsp := &pb.ReputationTalentresetResp{} + + session.SendMsg(string(this.module.GetType()), "reset", rsp) + return +} diff --git a/pb/reputation_msg.pb.go b/pb/reputation_msg.pb.go index 39fd18db4..91ecf57e0 100644 --- a/pb/reputation_msg.pb.go +++ b/pb/reputation_msg.pb.go @@ -294,11 +294,13 @@ func (x *ReputationTalentResp) GetCamp() *Camp { return nil } -// 天赋树重置 +// 阵营天赋树重置 type ReputationTalentresetReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + RaceType int32 `protobuf:"varint,1,opt,name=raceType,proto3" json:"raceType"` } func (x *ReputationTalentresetReq) Reset() { @@ -333,6 +335,13 @@ func (*ReputationTalentresetReq) Descriptor() ([]byte, []int) { return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{6} } +func (x *ReputationTalentresetReq) GetRaceType() int32 { + if x != nil { + return x.RaceType + } + return 0 +} + type ReputationTalentresetResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -397,11 +406,13 @@ var file_reputation_reputation_msg_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04, - 0x63, 0x61, 0x6d, 0x70, 0x22, 0x1a, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x61, 0x6d, 0x70, 0x22, 0x36, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x22, 0x1b, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, - 0x6c, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1b, 0x0a, 0x19, + 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 4ec983d257d314037de47c6b22db51a6b5f58094 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 20 Apr 2023 19:06:48 +0800 Subject: [PATCH 15/22] update --- modules/worldtask/module.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index 8d4af8e66..811293ce2 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -196,7 +196,8 @@ func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId if len(nextTaskIds) == 1 { mytask.CurrentTask[groupId] = &pb.Worldtask{ - TaskId: nextTaskIds[0], + TaskId: nextTaskIds[0], + TaskType: 2, //设置主线类型 } update["currentTask"] = mytask.CurrentTask } From 6cfb67a14a529acc3ef3e411af574e37f6c818a3 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 20:58:24 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8D=95=E7=BE=8A?= =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/const.go | 9 +- modules/items/module.go | 5 +- modules/parkour/api_invite.go | 7 +- modules/parkour/api_invitehandle.go | 13 +- modules/parkour/core.go | 21 +- modules/parkour/model_race.go | 13 ++ modules/parkour/module.go | 277 ++++++++++++++++++++++-- modules/pvp/module.go | 100 ++++++--- modules/timer/parkour.go | 9 + pb/parkour_db.pb.go | 74 ++++--- pb/parkour_msg.pb.go | 312 +++++++++++++++++++++++++--- pb/pvp_msg.pb.go | 171 +++++++++++++-- 12 files changed, 858 insertions(+), 153 deletions(-) diff --git a/comm/const.go b/comm/const.go index 248a97737..d0d97b589 100644 --- a/comm/const.go +++ b/comm/const.go @@ -313,9 +313,14 @@ const ( //Rpc // RPC 通知来了邮件 Rpc_Mail core.Rpc_Key = "Rpc_Mail" + //PVP 离线托管 + RPC_PVPTrusteeship core.Rpc_Key = "RPC_PVPTrusteeship" + //捕羊大赛加入匹配请求 - RPC_ParkourJoinMatch core.Rpc_Key = "RPC_ParkourJoinMatch" - RPC_ParkourMatchSucc core.Rpc_Key = "RPC_ParkourMatchSucc" + RPC_ParkourJoinMatch core.Rpc_Key = "RPC_ParkourJoinMatch" //加入匹配 + RPC_ParkourCancelMatch core.Rpc_Key = "RPC_ParkourCancelMatch" //取消匹配 + RPC_ParkourMatchSucc core.Rpc_Key = "RPC_ParkourMatchSucc" //匹配成功 + RPC_ParkourTrusteeship core.Rpc_Key = "RPC_ParkourTrusteeship" //捕羊大赛托管 ) // 事件类型定义处 diff --git a/modules/items/module.go b/modules/items/module.go index 24f77f1f0..1feb3e1ee 100644 --- a/modules/items/module.go +++ b/modules/items/module.go @@ -8,7 +8,6 @@ import ( "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" - "go_dreamfactory/lego/sys/log" ) /* @@ -64,9 +63,7 @@ func (this *Items) OnInstallComp() { //Event------------------------------------------------------------------------------------------------------------ func (this *Items) EventUserOffline(uid, sessionid string) { - if err := this.modelItems.BatchDelLists(uid); err != nil { - this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) - } + this.modelItems.BatchDelLists(uid) } //IItems------------------------------------------------------------------------------------------------------------------------------- diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index 03c737b5f..6240bac10 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -10,6 +10,9 @@ import ( //参数校验 func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode) { + if req.Uid == session.GetUserId() { + code = pb.ErrorCode_ReqParameterError + } return } @@ -47,8 +50,6 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) return } - info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp, Isai: true}) - if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { code = pb.ErrorCode_DBError return @@ -77,7 +78,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) } } if !ok { - info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar}) + info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Expired: configure.Now().Add(time.Second * 10).Unix()}) } this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice", &pb.ParkourInviteNoticePush{Team: info, State: 1}, req.Uid) diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go index 7fc2cdb58..004d2edab 100644 --- a/modules/parkour/api_invitehandle.go +++ b/modules/parkour/api_invitehandle.go @@ -23,6 +23,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi mount *cfg.GameBuzkashiMountData users []string ok bool + index int32 err error ) if code = this.InviteHandleCheck(session, req); code != pb.ErrorCode_Success { @@ -37,21 +38,24 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi code = pb.ErrorCode_DBError return } - if len(tean.Member) > 3 { + if len(tean.Member) >= 3 { code = pb.ErrorCode_ParkourMemberFull return } if req.State == 1 { ok = false - for _, v := range tean.Invite { - if v.Uid == session.GetUserId() && configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期 + for i, v := range tean.Invite { + if v.Uid == session.GetUserId() && !configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期 invite = v + index = int32(i) ok = true } } if !ok { code = pb.ErrorCode_ParkourInviteOverdue + return } + tean.Invite = append(tean.Invite[0:index], tean.Invite[index+1:]...) users = make([]string, len(tean.Member)) for i, v := range tean.Member { users[i] = v.Uid @@ -62,6 +66,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi } member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount, Hp: mount.Hp} tean.Captainid = tean.Uid + tean.State = pb.RaceTeamState_teaming tean.Member = append(tean.Member, member) if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ "captainid": tean.Captainid, @@ -70,6 +75,8 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi return } if err = this.module.parkourComp.Change(tean.Captainid, map[string]interface{}{ + "state": tean.State, + "invite": tean.Invite, "captainid": tean.Captainid, "member": tean.Member, }); err != nil { diff --git a/modules/parkour/core.go b/modules/parkour/core.go index 90d71a724..3d4dae539 100644 --- a/modules/parkour/core.go +++ b/modules/parkour/core.go @@ -10,17 +10,16 @@ import ( ///捕羊大赛对象 type RaceItem struct { - Id string //战斗id - lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象 - RedMember []*pb.DBRaceMember //红方成员 - RedSession []comm.IUserSession //红方会话 - RedScore int32 //红方分值 - RedEnergy int32 //红方能量 - BuleMember []*pb.DBRaceMember //蓝方成员 - BuleSession []comm.IUserSession //蓝方会话 - BuleScore int32 //蓝方分值 - BuleEnergy int32 //蓝方能量 - overtimer *timewheel.Task //准备倒计时定时器 + Id string //战斗id + lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象 + RedMember []*pb.DBRaceMember //红方成员 + RedScore int32 //红方分值 + RedEnergy int32 //红方能量 + BuleMember []*pb.DBRaceMember //蓝方成员 + Session map[string]comm.IUserSession + BuleScore int32 //蓝方分值 + BuleEnergy int32 //蓝方能量 + overtimer *timewheel.Task //准备倒计时定时器 } type AILevel int32 diff --git a/modules/parkour/model_race.go b/modules/parkour/model_race.go index 03354fcde..b38810c24 100644 --- a/modules/parkour/model_race.go +++ b/modules/parkour/model_race.go @@ -3,6 +3,7 @@ package parkour import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/db" @@ -37,3 +38,15 @@ func (this *ModelRaceComp) delrace(id string) (err error) { } return } + +//查询用户重置数据 +func (this *ModelRaceComp) queryraces() (result []*pb.DBRace, err error) { + result = make([]*pb.DBRace, 0) + if err = this.GetList("", &result); err != nil && err != mgo.MongodbNil { + this.module.Errorf("err:%v", err) + } + if err == mgo.MongodbNil { + err = nil + } + return +} diff --git a/modules/parkour/module.go b/modules/parkour/module.go index b6e239fdf..424b337a2 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -6,6 +6,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/event" "go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/timewheel" "go_dreamfactory/modules" @@ -54,6 +55,7 @@ func (this *Parkour) Init(service core.IService, module core.IModule, options co func (this *Parkour) Start() (err error) { err = this.ModuleBase.Start() this.service.RegisterFunctionName(string(comm.RPC_ParkourMatchSucc), this.createbattle) + event.RegisterGO(comm.EventUserOffline, this.useroffline) return } @@ -85,8 +87,9 @@ func (this *Parkour) AddMounts(session comm.IUserSession, mounts map[string]int3 //匹配 func (this *Parkour) match(team *pb.DBParkour) (err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) err = this.service.RpcCall( - context.Background(), + ctx, comm.Service_Mainte, string(comm.RPC_ParkourJoinMatch), &pb.RPCParkourJoinMatchReq{Captainid: team.Captainid, Member: team.Member}, @@ -114,10 +117,9 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu Bulemember: req.Bule, } battle = &RaceItem{ - Id: race.Id, - RedSession: make([]comm.IUserSession, 0), - BuleSession: make([]comm.IUserSession, 0), - overtimer: timewheel.Add(time.Minute*3, this.overtimer, race.Id), + Id: race.Id, + Session: make(map[string]comm.IUserSession), + overtimer: timewheel.Add(time.Minute*3, this.overtimer, race.Id), } for _, v := range req.Red { @@ -126,14 +128,13 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu session, online := this.GetUserSession(v.Uid) v.Isoff = !online if online { - battle.RedSession = append(battle.RedSession, session) + battle.Session[v.Uid] = session } } else { v.Ready = true } } - sessions = append(sessions, battle.RedSession...) battle.RedMember = req.Red for _, v := range req.Bule { v.Hp = 6 @@ -141,13 +142,16 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu session, online := this.GetUserSession(v.Uid) v.Isoff = !online if online { - battle.BuleSession = append(battle.BuleSession, session) + battle.Session[v.Uid] = session } } else { v.Ready = true } } - sessions = append(sessions, battle.BuleSession...) + for _, v := range battle.Session { + sessions = append(sessions, v) + } + battle.BuleMember = req.Bule if err = this.raceComp.addrace(race); err != nil { return @@ -190,8 +194,10 @@ func (this *Parkour) startbattle(id string) { this.Errorln(err) return } - sessions = append(sessions, battle.RedSession...) - sessions = append(sessions, battle.BuleSession...) + for _, v := range battle.Session { + sessions = append(sessions, v) + } + if err = this.SendMsgToSession(string(comm.ModulePvp), "racestart", &pb.ParkourRaceStartPush{ Countdown: 3, }, sessions...); err != nil { @@ -212,8 +218,10 @@ func (this *Parkour) shot(id string, uid string) { battle, ok = this.battles[id] this.lock.RUnlock() if ok { - sessions = append(sessions, battle.RedSession...) - sessions = append(sessions, battle.BuleSession...) + for _, v := range battle.Session { + sessions = append(sessions, v) + } + if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{ Red: battle.RedScore, Blue: battle.BuleScore, @@ -255,8 +263,10 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid}) return } - sessions = append(sessions, battle.RedSession...) - sessions = append(sessions, battle.BuleSession...) + for _, v := range battle.Session { + sessions = append(sessions, v) + } + if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{ Uid: uid, Hp: member.Hp, @@ -291,13 +301,246 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { } else { side = 2 } - sessions = append(sessions, battle.RedSession...) - sessions = append(sessions, battle.BuleSession...) + for _, v := range battle.Session { + sessions = append(sessions, v) + } + if err = this.SendMsgToSession(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{ Winside: side, }, sessions...); err != nil { this.Errorln(err) return } + + for _, v := range battle.RedMember { + if !v.Isai { + if err = this.parkourComp.Change(v.Uid, map[string]interface{}{ + "captainid": "", + "state": 0, + "invite": []*pb.DBRaceInvite{}, + "member": []*pb.DBRaceMember{}, + }); err != nil { + this.Errorln(err) + return + } + } + } + for _, v := range battle.BuleMember { + if !v.Isai { + if err = this.parkourComp.Change(v.Uid, map[string]interface{}{ + "captainid": "", + "state": 0, + "invite": []*pb.DBRaceInvite{}, + "member": []*pb.DBRaceMember{}, + }); err != nil { + this.Errorln(err) + return + } + } + } + } } + +//用户离线处理 +func (this *Parkour) useroffline(uid, sessionid string) { + var ( + info *pb.DBParkour + + team *pb.DBParkour + member *pb.DBRaceMember + users []string + index int32 + err error + ) + if info, err = this.parkourComp.queryinfo(uid); err != nil { + this.Error("用户离线!", log.Field{Key: "err", Value: err.Error()}) + return + } + if info.State == pb.RaceTeamState_teaming { + if info.Captainid == uid { + info.Invite = info.Invite[:0] + info.Member = info.Member[:0] + if err = this.parkourComp.Change(uid, map[string]interface{}{ + "captainid": "", + "state": 0, + "Invite": info.Invite, + "member": info.Member, + }); err != nil { + this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) + return + } + users = make([]string, 0) + for _, v := range info.Member { + if v.Uid != uid && !v.Isai { + users = append(users, v.Uid) + if err = this.parkourComp.Change(v.Uid, map[string]interface{}{ + "captainid": "", + "state": 0, + }); err != nil { + this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: v.Uid}, log.Field{Key: "err", Value: err.Error()}) + return + } + } + } + if len(users) > 0 { + if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil { + this.Errorln(err) + } + } + } else { + if team, err = this.parkourComp.queryinfo(info.Captainid); err != nil { + this.Error("用户离线!", log.Field{Key: "Captainid", Value: info.Captainid}, log.Field{Key: "err", Value: err.Error()}) + return + } + users = make([]string, 0) + for i, v := range team.Member { + if v.Uid == uid { + index = int32(i) + member = v + continue + } + if v.Uid != uid && !v.Isai { + users = append(users, v.Uid) + } + } + team.Member = append(team.Member[0:index], team.Member[index+1:]...) + if err = this.parkourComp.Change(team.Uid, map[string]interface{}{ + "member": team.Member, + }); err != nil { + this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: team.Uid}, log.Field{Key: "err", Value: err.Error()}) + return + } + if len(users) > 0 { + this.SendMsgToUsers(string(this.GetType()), "teamquitnotice", + &pb.ParkourTeamQuitNoticePush{Member: member}, users...) + + this.SendMsgToUsers(string(this.GetType()), "teamchanage", + &pb.ParkourTeamChanagePush{Team: team}, users...) + } + + } + } else if info.State == pb.RaceTeamState_matching { + if info.Captainid == uid { + err = this.service.RpcCall( + context.Background(), + comm.Service_Mainte, + string(comm.RPC_ParkourCancelMatch), + &pb.RPCParkourCancelMatchReq{Captainid: info.Captainid}, + &pb.RPCParkourCancelMatchResp{}) + if err != nil { + this.Errorln(err) + return + } + if err = this.parkourComp.Change(uid, map[string]interface{}{ + "captainid": "", + "state": 0, + "Invite": info.Invite, + "member": info.Member, + }); err != nil { + this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) + return + } + users = make([]string, 0) + for _, v := range info.Member { + if v.Uid != uid && !v.Isai { + users = append(users, v.Uid) + if err = this.parkourComp.Change(v.Uid, map[string]interface{}{ + "captainid": "", + "state": 0, + }); err != nil { + this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: v.Uid}, log.Field{Key: "err", Value: err.Error()}) + return + } + } + } + if len(users) > 0 { + if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil { + this.Errorln(err) + } + } + } + } else if info.State == pb.RaceTeamState_raceing { + var ( + lockpath string = fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()) + + result []*pb.DBRace + ) + if result, err = this.raceComp.queryraces(); err != nil { + this.Errorln(err) + return + } + for _, v := range result { + for _, v1 := range v.Redmember { + if !v1.Isai && v1.Uid == uid { + if lockpath == v.ServicePath { + this.trusteeship(context.Background(), &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, nil) + return + } else { + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) + _, err = this.service.RpcGo( + ctx, + comm.Service_Mainte, + string(comm.RPC_ParkourJoinMatch), + &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, + nil) + if err != nil { + this.Errorln(err) + return + } + return + } + } + } + for _, v1 := range v.Bulemember { + if !v1.Isai && v1.Uid == uid { + if lockpath == v.ServicePath { + this.trusteeship(context.Background(), &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, nil) + return + } else { + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) + _, err = this.service.RpcGo( + ctx, + comm.Service_Mainte, + string(comm.RPC_ParkourJoinMatch), + &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, + nil) + if err != nil { + this.Errorln(err) + return + } + return + } + } + } + } + } +} + +//托管 +func (this *Parkour) trusteeship(ctx context.Context, req *pb.RPC_ParkourTrusteeshipReq, resp *pb.RPC_ParkourTrusteeshipResp) (err error) { + var ( + battle *RaceItem + ok bool + ) + + this.lock.RLock() + battle, ok = this.battles[req.Battleid] + this.lock.RUnlock() + if ok { + battle.lock.Lock() + for _, v := range battle.BuleMember { + if v.Uid == v.Uid { + v.Isoff = true + } + } + for _, v := range battle.RedMember { + if v.Uid == v.Uid { + v.Isoff = true + } + } + delete(battle.Session, req.Uid) + battle.lock.Unlock() + } + return +} diff --git a/modules/pvp/module.go b/modules/pvp/module.go index f7e1515a0..39706d9ec 100644 --- a/modules/pvp/module.go +++ b/modules/pvp/module.go @@ -1,6 +1,7 @@ package pvp import ( + "context" "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/base" @@ -399,39 +400,86 @@ func (this *Pvp) userlogin(session comm.IUserSession) { //用户离线处理 func (this *Pvp) useroffline(uid, sessionid string) { var ( - side int32 - data []byte - code pb.ErrorCode + result []*pb.DBPvpBattle + lockpath string = fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()) + service map[string][]string = make(map[string][]string) + err error ) - this.lock.RLock() - for _, v := range this.battles { + if result, err = this.modelPvpComp.querypvps(); err != nil { + this.Errorln(err) + return + } + for _, v := range result { if v.Red.Uid == uid || v.Blue.Uid == uid { - if uid == v.Red.Uid { - side = 1 - v.RedOffline = true - } else { - side = 2 - v.BlueOffline = true + if service[v.ServicePath] == nil { + service[v.ServicePath] = make([]string, 0) } + service[v.ServicePath] = append(service[v.ServicePath], v.Id) + } + } - if v.curroperate.Side == side { - if v.operatetimer != nil { - timewheel.Remove(v.operatetimer) + for k, v := range service { + if k == lockpath { //在当前服务器上 + this.trusteeship(context.Background(), &pb.RPC_PVPTrusteeshipReq{Battleid: v, Uid: uid}, nil) + } else { //在别的服务器上 + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) + _, err = this.service.RpcGo( + ctx, + comm.Service_Mainte, + string(comm.RPC_ParkourJoinMatch), + &pb.RPC_PVPTrusteeshipReq{Battleid: v, Uid: uid}, + nil) + if err != nil { + this.Errorln(err) + return + } + } + } + +} + +//托管 +func (this *Pvp) trusteeship(ctx context.Context, req *pb.RPC_PVPTrusteeshipReq, resp *pb.RPC_PVPTrusteeshipResp) (err error) { + var ( + battle *BattleItem + ok bool + side int32 + data []byte + code pb.ErrorCode + ) + for _, bid := range req.Battleid { + this.lock.RLock() + battle, ok = this.battles[bid] + this.lock.RUnlock() + if ok { + if battle.Red.Uid == req.Uid || battle.Blue.Uid == req.Uid { + if req.Uid == battle.Red.Uid { + side = 1 + battle.RedOffline = true + } else { + side = 2 + battle.BlueOffline = true } - v.curroperate.Auto = true - data, _ = proto.Marshal(v.curroperate) - if code = this.battle.InCmdBattle(&pb.BattleInCmdReq{ - Battleid: v.Id, - Side: v.curroperate.Side, - In: &pb.BattleCmd{ - Cmdtype: "ComWaitInputSkill", - Value: data, - }, - }); code != pb.ErrorCode_Success { - return + + if battle.curroperate.Side == side { + if battle.operatetimer != nil { + timewheel.Remove(battle.operatetimer) + } + battle.curroperate.Auto = true + data, _ = proto.Marshal(battle.curroperate) + if code = this.battle.InCmdBattle(&pb.BattleInCmdReq{ + Battleid: battle.Id, + Side: battle.curroperate.Side, + In: &pb.BattleCmd{ + Cmdtype: "ComWaitInputSkill", + Value: data, + }, + }); code != pb.ErrorCode_Success { + return + } } } } } - this.lock.RUnlock() + return } diff --git a/modules/timer/parkour.go b/modules/timer/parkour.go index ef3a6f809..3a479595a 100644 --- a/modules/timer/parkour.go +++ b/modules/timer/parkour.go @@ -49,6 +49,7 @@ func (this *ParkourComp) Start() (err error) { if db.IsCross() { this.refreshlist() this.service.RegisterFunctionName(string(comm.RPC_ParkourJoinMatch), this.join) + this.service.RegisterFunctionName(string(comm.RPC_ParkourCancelMatch), this.cancel) if _, err = cron.AddFunc("5 * * * * ?", this.timer); err != nil { this.module.Errorf("cron.AddFunc err:%v", err) } @@ -186,6 +187,14 @@ func (this *ParkourComp) join(ctx context.Context, req *pb.RPCParkourJoinMatchRe return } +//加入匹配中 +func (this *ParkourComp) cancel(ctx context.Context, req *pb.RPCParkourCancelMatchReq, resp *pb.RPCParkourCancelMatchResp) (err error) { + this.lock.Lock() + delete(this.teams, req.Captainid) + this.lock.Unlock() + return +} + //定时匹配处理 func (this *ParkourComp) timer() { if this.total == 0 { diff --git a/pb/parkour_db.pb.go b/pb/parkour_db.pb.go index b31bde041..e38660c12 100644 --- a/pb/parkour_db.pb.go +++ b/pb/parkour_db.pb.go @@ -70,22 +70,25 @@ func (RaceType) EnumDescriptor() ([]byte, []int) { type RaceTeamState int32 const ( - RaceTeamState_teaming RaceTeamState = 0 //组队中 - RaceTeamState_matching RaceTeamState = 1 //匹配中 - RaceTeamState_raceing RaceTeamState = 2 //比赛中 + RaceTeamState_resting RaceTeamState = 0 //休息中 + RaceTeamState_teaming RaceTeamState = 1 //组队中 + RaceTeamState_matching RaceTeamState = 2 //匹配中 + RaceTeamState_raceing RaceTeamState = 3 //比赛中 ) // Enum value maps for RaceTeamState. var ( RaceTeamState_name = map[int32]string{ - 0: "teaming", - 1: "matching", - 2: "raceing", + 0: "resting", + 1: "teaming", + 2: "matching", + 3: "raceing", } RaceTeamState_value = map[string]int32{ - "teaming": 0, - "matching": 1, - "raceing": 2, + "resting": 0, + "teaming": 1, + "matching": 2, + "raceing": 3, } ) @@ -305,15 +308,16 @@ type DBParkour 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"` //用户id - Mounts map[string]int32 `protobuf:"bytes,3,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表 - Dfmount string `protobuf:"bytes,4,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑 - State RaceTeamState `protobuf:"varint,5,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态 - Integral int32 `protobuf:"varint,6,opt,name=integral,proto3" json:"integral"` //积分 - Captainid string `protobuf:"bytes,7,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍 - Invite []*DBRaceInvite `protobuf:"bytes,8,rep,name=invite,proto3" json:"invite"` //邀请列表 - Member []*DBRaceMember `protobuf:"bytes,9,rep,name=member,proto3" json:"member"` //成员列表 + 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"` //用户id + Mounts map[string]int32 `protobuf:"bytes,3,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表 + Dfmount string `protobuf:"bytes,4,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑 + State RaceTeamState `protobuf:"varint,5,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态 + Currbattid string `protobuf:"bytes,6,opt,name=currbattid,proto3" json:"currbattid"` //当前战斗id + Integral int32 `protobuf:"varint,7,opt,name=integral,proto3" json:"integral"` //积分 + Captainid string `protobuf:"bytes,8,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍 + Invite []*DBRaceInvite `protobuf:"bytes,9,rep,name=invite,proto3" json:"invite"` //邀请列表 + Member []*DBRaceMember `protobuf:"bytes,10,rep,name=member,proto3" json:"member"` //成员列表 } func (x *DBParkour) Reset() { @@ -380,7 +384,14 @@ func (x *DBParkour) GetState() RaceTeamState { if x != nil { return x.State } - return RaceTeamState_teaming + return RaceTeamState_resting +} + +func (x *DBParkour) GetCurrbattid() string { + if x != nil { + return x.Currbattid + } + return "" } func (x *DBParkour) GetIntegral() int32 { @@ -531,7 +542,7 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{ 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0xe0, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0x80, 0x03, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 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, 0x2e, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, @@ -541,14 +552,16 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x07, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74, + 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, + 0x61, 0x74, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, - 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 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, 0x14, @@ -570,12 +583,13 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{ 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x37, + 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x44, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, - 0x63, 0x65, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x69, + 0x6e, 0x67, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go index b7feda341..023d6fc85 100644 --- a/pb/parkour_msg.pb.go +++ b/pb/parkour_msg.pb.go @@ -1546,6 +1546,92 @@ func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} } +//取消匹配 +type RPCParkourCancelMatchReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id +} + +func (x *RPCParkourCancelMatchReq) Reset() { + *x = RPCParkourCancelMatchReq{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPCParkourCancelMatchReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPCParkourCancelMatchReq) ProtoMessage() {} + +func (x *RPCParkourCancelMatchReq) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[32] + 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 RPCParkourCancelMatchReq.ProtoReflect.Descriptor instead. +func (*RPCParkourCancelMatchReq) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} +} + +func (x *RPCParkourCancelMatchReq) GetCaptainid() string { + if x != nil { + return x.Captainid + } + return "" +} + +type RPCParkourCancelMatchResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RPCParkourCancelMatchResp) Reset() { + *x = RPCParkourCancelMatchResp{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPCParkourCancelMatchResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPCParkourCancelMatchResp) ProtoMessage() {} + +func (x *RPCParkourCancelMatchResp) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[33] + 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 RPCParkourCancelMatchResp.ProtoReflect.Descriptor instead. +func (*RPCParkourCancelMatchResp) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33} +} + ///匹配成功通知请求 type RPCParkourMatchSuccReq struct { state protoimpl.MessageState @@ -1559,7 +1645,7 @@ type RPCParkourMatchSuccReq struct { func (x *RPCParkourMatchSuccReq) Reset() { *x = RPCParkourMatchSuccReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1572,7 +1658,7 @@ func (x *RPCParkourMatchSuccReq) String() string { func (*RPCParkourMatchSuccReq) ProtoMessage() {} func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1585,7 +1671,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{34} } func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember { @@ -1612,7 +1698,7 @@ type RPCParkourMatchSuccResp struct { func (x *RPCParkourMatchSuccResp) Reset() { *x = RPCParkourMatchSuccResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[33] + mi := &file_parkour_parkour_msg_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1625,7 +1711,7 @@ func (x *RPCParkourMatchSuccResp) String() string { func (*RPCParkourMatchSuccResp) ProtoMessage() {} func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[33] + mi := &file_parkour_parkour_msg_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1638,7 +1724,101 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{35} +} + +//托管求情 +type RPC_ParkourTrusteeshipReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *RPC_ParkourTrusteeshipReq) Reset() { + *x = RPC_ParkourTrusteeshipReq{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPC_ParkourTrusteeshipReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPC_ParkourTrusteeshipReq) ProtoMessage() {} + +func (x *RPC_ParkourTrusteeshipReq) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[36] + 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 RPC_ParkourTrusteeshipReq.ProtoReflect.Descriptor instead. +func (*RPC_ParkourTrusteeshipReq) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{36} +} + +func (x *RPC_ParkourTrusteeshipReq) GetBattleid() string { + if x != nil { + return x.Battleid + } + return "" +} + +func (x *RPC_ParkourTrusteeshipReq) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +type RPC_ParkourTrusteeshipResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RPC_ParkourTrusteeshipResp) Reset() { + *x = RPC_ParkourTrusteeshipResp{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPC_ParkourTrusteeshipResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPC_ParkourTrusteeshipResp) ProtoMessage() {} + +func (x *RPC_ParkourTrusteeshipResp) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[37] + 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 RPC_ParkourTrusteeshipResp.ProtoReflect.Descriptor instead. +func (*RPC_ParkourTrusteeshipResp) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{37} } var File_parkour_parkour_msg_proto protoreflect.FileDescriptor @@ -1747,14 +1927,26 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, - 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, - 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, + 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, + 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } @@ -1771,7 +1963,7 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte { return file_parkour_parkour_msg_proto_rawDescData } -var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 38) var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourInfoReq)(nil), // 0: ParkourInfoReq (*ParkourInfoResp)(nil), // 1: ParkourInfoResp @@ -1805,25 +1997,29 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourRaceOverPush)(nil), // 29: ParkourRaceOverPush (*RPCParkourJoinMatchReq)(nil), // 30: RPCParkourJoinMatchReq (*RPCParkourJoinMatchResp)(nil), // 31: RPCParkourJoinMatchResp - (*RPCParkourMatchSuccReq)(nil), // 32: RPCParkourMatchSuccReq - (*RPCParkourMatchSuccResp)(nil), // 33: RPCParkourMatchSuccResp - (*DBParkour)(nil), // 34: DBParkour - (*DBRaceMember)(nil), // 35: DBRaceMember - (*DBRace)(nil), // 36: DBRace + (*RPCParkourCancelMatchReq)(nil), // 32: RPCParkourCancelMatchReq + (*RPCParkourCancelMatchResp)(nil), // 33: RPCParkourCancelMatchResp + (*RPCParkourMatchSuccReq)(nil), // 34: RPCParkourMatchSuccReq + (*RPCParkourMatchSuccResp)(nil), // 35: RPCParkourMatchSuccResp + (*RPC_ParkourTrusteeshipReq)(nil), // 36: RPC_ParkourTrusteeshipReq + (*RPC_ParkourTrusteeshipResp)(nil), // 37: RPC_ParkourTrusteeshipResp + (*DBParkour)(nil), // 38: DBParkour + (*DBRaceMember)(nil), // 39: DBRaceMember + (*DBRace)(nil), // 40: DBRace } var file_parkour_parkour_msg_proto_depIdxs = []int32{ - 34, // 0: ParkourInfoResp.info:type_name -> DBParkour - 34, // 1: ParkourInfoResp.recommend:type_name -> DBParkour - 34, // 2: ParkourInfoChangePush.info:type_name -> DBParkour - 34, // 3: ParkourInviteResp.team:type_name -> DBParkour - 34, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour - 34, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour - 35, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember - 35, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember - 36, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace - 35, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember - 35, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember - 35, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember + 38, // 0: ParkourInfoResp.info:type_name -> DBParkour + 38, // 1: ParkourInfoResp.recommend:type_name -> DBParkour + 38, // 2: ParkourInfoChangePush.info:type_name -> DBParkour + 38, // 3: ParkourInviteResp.team:type_name -> DBParkour + 38, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour + 38, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour + 39, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember + 39, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember + 40, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace + 39, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember + 39, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember + 39, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name @@ -2223,7 +2419,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourMatchSuccReq); i { + switch v := v.(*RPCParkourCancelMatchReq); i { case 0: return &v.state case 1: @@ -2235,6 +2431,30 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourCancelMatchResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourMatchSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RPCParkourMatchSuccResp); i { case 0: return &v.state @@ -2246,6 +2466,30 @@ func file_parkour_parkour_msg_proto_init() { return nil } } + file_parkour_parkour_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPC_ParkourTrusteeshipReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPC_ParkourTrusteeshipResp); 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{ @@ -2253,7 +2497,7 @@ func file_parkour_parkour_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_parkour_parkour_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 34, + NumMessages: 38, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/pvp_msg.pb.go b/pb/pvp_msg.pb.go index 4a7e81c9b..83235ff6b 100644 --- a/pb/pvp_msg.pb.go +++ b/pb/pvp_msg.pb.go @@ -993,6 +993,99 @@ func (x *PvpFinishPush) GetBattleid() string { return "" } +type RPC_PVPTrusteeshipReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Battleid []string `protobuf:"bytes,1,rep,name=battleid,proto3" json:"battleid"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *RPC_PVPTrusteeshipReq) Reset() { + *x = RPC_PVPTrusteeshipReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pvp_pvp_msg_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPC_PVPTrusteeshipReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPC_PVPTrusteeshipReq) ProtoMessage() {} + +func (x *RPC_PVPTrusteeshipReq) ProtoReflect() protoreflect.Message { + mi := &file_pvp_pvp_msg_proto_msgTypes[18] + 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 RPC_PVPTrusteeshipReq.ProtoReflect.Descriptor instead. +func (*RPC_PVPTrusteeshipReq) Descriptor() ([]byte, []int) { + return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{18} +} + +func (x *RPC_PVPTrusteeshipReq) GetBattleid() []string { + if x != nil { + return x.Battleid + } + return nil +} + +func (x *RPC_PVPTrusteeshipReq) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +type RPC_PVPTrusteeshipResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RPC_PVPTrusteeshipResp) Reset() { + *x = RPC_PVPTrusteeshipResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pvp_pvp_msg_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPC_PVPTrusteeshipResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPC_PVPTrusteeshipResp) ProtoMessage() {} + +func (x *RPC_PVPTrusteeshipResp) ProtoReflect() protoreflect.Message { + mi := &file_pvp_pvp_msg_proto_msgTypes[19] + 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 RPC_PVPTrusteeshipResp.ProtoReflect.Descriptor instead. +func (*RPC_PVPTrusteeshipResp) Descriptor() ([]byte, []int) { + return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{19} +} + var File_pvp_pvp_msg_proto protoreflect.FileDescriptor var file_pvp_pvp_msg_proto_rawDesc = []byte{ @@ -1081,8 +1174,14 @@ var file_pvp_pvp_msg_proto_rawDesc = []byte{ 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x2b, 0x0a, 0x0d, 0x50, 0x76, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x15, 0x52, 0x50, 0x43, + 0x5f, 0x50, 0x56, 0x50, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x22, 0x18, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x56, 0x50, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1097,7 +1196,7 @@ func file_pvp_pvp_msg_proto_rawDescGZIP() []byte { return file_pvp_pvp_msg_proto_rawDescData } -var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_pvp_pvp_msg_proto_goTypes = []interface{}{ (*PvpListReq)(nil), // 0: PvpListReq (*PvpListResp)(nil), // 1: PvpListResp @@ -1117,27 +1216,29 @@ var file_pvp_pvp_msg_proto_goTypes = []interface{}{ (*PvpInCmdReq)(nil), // 15: PvpInCmdReq (*PvpInCmdResp)(nil), // 16: PvpInCmdResp (*PvpFinishPush)(nil), // 17: PvpFinishPush - (*DBPvpBattle)(nil), // 18: DBPvpBattle - (ErrorCode)(0), // 19: ErrorCode - (*BattleStateInfo)(nil), // 20: BattleStateInfo - (*PvpUserInfo)(nil), // 21: PvpUserInfo - (*BattleFormation)(nil), // 22: BattleFormation - (*BattleInfo)(nil), // 23: BattleInfo - (*BattleCmd)(nil), // 24: BattleCmd + (*RPC_PVPTrusteeshipReq)(nil), // 18: RPC_PVPTrusteeshipReq + (*RPC_PVPTrusteeshipResp)(nil), // 19: RPC_PVPTrusteeshipResp + (*DBPvpBattle)(nil), // 20: DBPvpBattle + (ErrorCode)(0), // 21: ErrorCode + (*BattleStateInfo)(nil), // 22: BattleStateInfo + (*PvpUserInfo)(nil), // 23: PvpUserInfo + (*BattleFormation)(nil), // 24: BattleFormation + (*BattleInfo)(nil), // 25: BattleInfo + (*BattleCmd)(nil), // 26: BattleCmd } var file_pvp_pvp_msg_proto_depIdxs = []int32{ - 18, // 0: PvpListResp.list:type_name -> DBPvpBattle - 19, // 1: PvpIntoResp.code:type_name -> ErrorCode - 20, // 2: PvpIntoResp.info:type_name -> BattleStateInfo - 21, // 3: PvpReadyPush.red:type_name -> PvpUserInfo - 21, // 4: PvpReadyPush.blue:type_name -> PvpUserInfo - 22, // 5: PvpFormationReq.formation:type_name -> BattleFormation - 19, // 6: PvpStartPush.code:type_name -> ErrorCode - 23, // 7: PvpStartPush.info:type_name -> BattleInfo - 24, // 8: PvpOutCmdPush.cmd:type_name -> BattleCmd - 24, // 9: PvpInCmdReq.cmd:type_name -> BattleCmd - 19, // 10: PvpInCmdResp.code:type_name -> ErrorCode - 24, // 11: PvpInCmdResp.cmd:type_name -> BattleCmd + 20, // 0: PvpListResp.list:type_name -> DBPvpBattle + 21, // 1: PvpIntoResp.code:type_name -> ErrorCode + 22, // 2: PvpIntoResp.info:type_name -> BattleStateInfo + 23, // 3: PvpReadyPush.red:type_name -> PvpUserInfo + 23, // 4: PvpReadyPush.blue:type_name -> PvpUserInfo + 24, // 5: PvpFormationReq.formation:type_name -> BattleFormation + 21, // 6: PvpStartPush.code:type_name -> ErrorCode + 25, // 7: PvpStartPush.info:type_name -> BattleInfo + 26, // 8: PvpOutCmdPush.cmd:type_name -> BattleCmd + 26, // 9: PvpInCmdReq.cmd:type_name -> BattleCmd + 21, // 10: PvpInCmdResp.code:type_name -> ErrorCode + 26, // 11: PvpInCmdResp.cmd:type_name -> BattleCmd 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name @@ -1370,6 +1471,30 @@ func file_pvp_pvp_msg_proto_init() { return nil } } + file_pvp_pvp_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPC_PVPTrusteeshipReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pvp_pvp_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPC_PVPTrusteeshipResp); 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{ @@ -1377,7 +1502,7 @@ func file_pvp_pvp_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pvp_pvp_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, From eb5ae6d13b05339de97b929a46660a061517948e Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 21:08:56 +0800 Subject: [PATCH 17/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/parkour/api_invite.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index 6240bac10..b966d34d5 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -62,6 +62,16 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) code = pb.ErrorCode_ConfigNoFound return } + ok = false + for _, v := range info.Member { + if v.Uid == session.GetUserId() { + ok = true + } + } + if !ok { + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp}) + } + //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true}) From e40f8496055717c0737e3e72024b3ad969cd2a1a Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 21:16:34 +0800 Subject: [PATCH 18/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8D=95=E7=BE=8A?= =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E9=82=80=E8=AF=B7=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/parkour/api_invite.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index b966d34d5..b632ba9a8 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -50,6 +50,16 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) return } + ok = false + for _, v := range info.Member { + if v.Uid == session.GetUserId() { + ok = true + } + } + if !ok { + info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp}) + } + if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { code = pb.ErrorCode_DBError return @@ -62,15 +72,6 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) code = pb.ErrorCode_ConfigNoFound return } - ok = false - for _, v := range info.Member { - if v.Uid == session.GetUserId() { - ok = true - } - } - if !ok { - info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp}) - } //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { From 27dbb36ee6728f114fe2226aa1e36fd5157338c5 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 20 Apr 2023 21:18:34 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E4=BC=98=E5=8C=96item=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/items/api_getlist.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/items/api_getlist.go b/modules/items/api_getlist.go index 3bf0566d0..686692758 100644 --- a/modules/items/api_getlist.go +++ b/modules/items/api_getlist.go @@ -18,6 +18,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq) err error items []*pb.DB_UserItemData nt int64 + temp []*pb.DB_UserItemData grids []*pb.DB_UserItemData modifys []*pb.DB_UserItemData dels []*pb.DB_UserItemData @@ -39,6 +40,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq) return } else { // tempgrids = this.module.configure.GetPackItemByType(items, req.IType) + temp = make([]*pb.DB_UserItemData, 0, len(items)) modifys = make([]*pb.DB_UserItemData, 0, len(items)) dels = make([]*pb.DB_UserItemData, 0, len(items)) grids = make([]*pb.DB_UserItemData, 0, len(items)) @@ -53,10 +55,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq) temp.IsNewItem = false modifys = append(modifys, &temp) } + temp = append(temp, v) } } } - session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items}) + session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: temp}) return } From ec088d4b1347979dcb0eef2221e77bbb64124965 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 21 Apr 2023 16:54:26 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8D=95=E7=BE=8A?= =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_activereward.json | 134 +- bin/json/game_buzkashiopen.json | 122 + bin/json/game_global.json | 34 +- bin/json/game_huntingboss.json | 160 +- bin/json/game_monsterformat.json | 66 +- bin/json/game_rdtaskcondi.json | 8 +- bin/json/game_skillafteratk.json | 8 +- bin/json/game_skillbuff.json | 2 +- bin/json/game_smithyatlas.json | 216 +- bin/json/game_taskactivereward.json | 134 +- bin/json/game_taskround.json | 3055 +---------------- bin/json/game_vikingboss.json | 248 +- bin/json/game_worldall.json | 26 +- bin/json/game_worldtask.json | 16 +- modules/parkour/api_Info.go | 22 +- modules/parkour/api_invite.go | 25 +- modules/parkour/api_racematch.go | 30 +- modules/parkour/api_racematchcancel.go | 56 + modules/parkour/configure.go | 31 + modules/parkour/core.go | 6 + modules/parkour/model_parkour.go | 47 +- modules/parkour/module.go | 11 +- modules/parkour/parkour_test.go | 18 + pb/parkour_db.pb.go | 52 +- pb/parkour_msg.pb.go | 758 ++-- sys/configure/structs/Game.buzkashiOpen.go | 42 + .../structs/Game.buzkashiOpenData.go | 39 + sys/configure/structs/Tables.go | 7 + .../structs/game.activeRewardData.go | 4 + sys/configure/structs/game.globalData.go | 68 + .../structs/game.taskActiveRewardData.go | 4 + 31 files changed, 1419 insertions(+), 4030 deletions(-) create mode 100644 bin/json/game_buzkashiopen.json create mode 100644 modules/parkour/api_racematchcancel.go create mode 100644 modules/parkour/parkour_test.go create mode 100644 sys/configure/structs/Game.buzkashiOpen.go create mode 100644 sys/configure/structs/Game.buzkashiOpenData.go diff --git a/bin/json/game_activereward.json b/bin/json/game_activereward.json index fb555e24c..4174a8a5c 100644 --- a/bin/json/game_activereward.json +++ b/bin/json/game_activereward.json @@ -1,110 +1,34 @@ [ { "key": 1, - "id_tag": 1, - "active": 20, + "id_tag": 2, + "active": 40, "reword": [ { "a": "attr", "t": "diamond", - "n": 5 + "n": 10 } - ] + ], + "action": "Skill_2", + "stage": 1 }, { "key": 2, - "id_tag": 1, - "active": 40, + "id_tag": 2, + "active": 80, "reword": [ { "a": "attr", - "t": "gold", - "n": 10000 + "t": "diamond", + "n": 10 } - ] + ], + "action": "Skill_2", + "stage": 2 }, { "key": 3, - "id_tag": 1, - "active": 60, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 4, - "id_tag": 1, - "active": 80, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 20000 - } - ] - }, - { - "key": 5, - "id_tag": 1, - "active": 100, - "reword": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "gold", - "n": 50000 - } - ] - }, - { - "key": 6, - "id_tag": 2, - "active": 40, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 25000 - } - ] - }, - { - "key": 7, - "id_tag": 2, - "active": 80, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 25000 - } - ] - }, - { - "key": 8, "id_tag": 2, "active": 120, "reword": [ @@ -113,10 +37,12 @@ "t": "diamond", "n": 20 } - ] + ], + "action": "Skill_2", + "stage": 3 }, { - "key": 9, + "key": 4, "id_tag": 2, "active": 160, "reword": [ @@ -124,29 +50,9 @@ "a": "attr", "t": "diamond", "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 75000 } - ] - }, - { - "key": 10, - "id_tag": 2, - "active": 200, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 200000 - } - ] + ], + "action": "Skill_2", + "stage": 4 } ] \ No newline at end of file diff --git a/bin/json/game_buzkashiopen.json b/bin/json/game_buzkashiopen.json new file mode 100644 index 000000000..f005ec1ee --- /dev/null +++ b/bin/json/game_buzkashiopen.json @@ -0,0 +1,122 @@ +[ + { + "num": 1, + "stime": "1899/12/31 0:30:00", + "etime": "1899/12/31 0:50:00" + }, + { + "num": 2, + "stime": "1899/12/31 1:30:00", + "etime": "1899/12/31 1:50:00" + }, + { + "num": 3, + "stime": "1899/12/31 2:30:00", + "etime": "1899/12/31 2:50:00" + }, + { + "num": 4, + "stime": "1899/12/31 3:30:00", + "etime": "1899/12/31 3:50:00" + }, + { + "num": 5, + "stime": "1899/12/31 4:30:00", + "etime": "1899/12/31 4:50:00" + }, + { + "num": 6, + "stime": "1899/12/31 5:30:00", + "etime": "1899/12/31 5:50:00" + }, + { + "num": 7, + "stime": "1899/12/31 6:30:00", + "etime": "1899/12/31 6:50:00" + }, + { + "num": 8, + "stime": "1899/12/31 7:30:00", + "etime": "1899/12/31 7:50:00" + }, + { + "num": 9, + "stime": "1899/12/31 8:30:00", + "etime": "1899/12/31 8:50:00" + }, + { + "num": 10, + "stime": "1899/12/31 9:30:00", + "etime": "1899/12/31 9:50:00" + }, + { + "num": 11, + "stime": "1899/12/31 10:30:00", + "etime": "1899/12/31 10:50:00" + }, + { + "num": 12, + "stime": "1899/12/31 11:30:00", + "etime": "1899/12/31 11:50:00" + }, + { + "num": 13, + "stime": "1899/12/31 12:30:00", + "etime": "1899/12/31 12:50:00" + }, + { + "num": 14, + "stime": "1899/12/31 13:30:00", + "etime": "1899/12/31 13:50:00" + }, + { + "num": 15, + "stime": "1899/12/31 14:30:00", + "etime": "1899/12/31 14:50:00" + }, + { + "num": 16, + "stime": "1899/12/31 15:30:00", + "etime": "1899/12/31 15:50:00" + }, + { + "num": 17, + "stime": "1899/12/31 16:30:00", + "etime": "1899/12/31 16:50:00" + }, + { + "num": 18, + "stime": "1899/12/31 17:30:00", + "etime": "1899/12/31 17:50:00" + }, + { + "num": 19, + "stime": "1899/12/31 18:30:00", + "etime": "1899/12/31 18:50:00" + }, + { + "num": 20, + "stime": "1899/12/31 19:30:00", + "etime": "1899/12/31 19:50:00" + }, + { + "num": 21, + "stime": "1899/12/31 20:30:00", + "etime": "1899/12/31 20:50:00" + }, + { + "num": 22, + "stime": "1899/12/31 21:30:00", + "etime": "1899/12/31 21:50:00" + }, + { + "num": 23, + "stime": "1899/12/31 22:30:00", + "etime": "1899/12/31 22:50:00" + }, + { + "num": 24, + "stime": "1899/12/31 23:30:00", + "etime": "1899/12/31 23:50:00" + } +] \ No newline at end of file diff --git a/bin/json/game_global.json b/bin/json/game_global.json index 3e9776337..233818b05 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -684,6 +684,38 @@ "business_rewardday": 1, "business_renovatething": 180, "favorability_likes": 1500, - "favorability_dislikes": 500 + "favorability_dislikes": 500, + "buzkashi_time": 180, + "buzkashi_schedule": 200, + "buzkashi_stime": 300, + "buzkashi_vreward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "buzkashi_freward": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "buzkashi_vintegral": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "buzkashi_fintegral": [ + { + "a": "attr", + "t": "gold", + "n": 1000 + } + ], + "buzkashi_resurrection": 10 } ] \ No newline at end of file diff --git a/bin/json/game_huntingboss.json b/bin/json/game_huntingboss.json index ff585981d..98053e46a 100644 --- a/bin/json/game_huntingboss.json +++ b/bin/json/game_huntingboss.json @@ -7,7 +7,7 @@ "text": "巨型猩猩" }, "difficulty": 1, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -25,8 +25,6 @@ "drop": 1001, "bossmodel": 53001, "boss": [ - 401001, - 401002, 401003 ], "ps_consume": [ @@ -52,7 +50,7 @@ "text": "巨型猩猩" }, "difficulty": 2, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -75,8 +73,6 @@ "drop": 1002, "bossmodel": 53001, "boss": [ - 401004, - 401005, 401006 ], "ps_consume": [ @@ -102,7 +98,7 @@ "text": "巨型猩猩" }, "difficulty": 3, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -125,8 +121,6 @@ "drop": 1003, "bossmodel": 53001, "boss": [ - 401007, - 401008, 401009 ], "ps_consume": [ @@ -152,7 +146,7 @@ "text": "巨型猩猩" }, "difficulty": 4, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -175,8 +169,6 @@ "drop": 1004, "bossmodel": 53001, "boss": [ - 401010, - 401011, 401012 ], "ps_consume": [ @@ -202,7 +194,7 @@ "text": "巨型猩猩" }, "difficulty": 5, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -230,8 +222,6 @@ "drop": 1005, "bossmodel": 53001, "boss": [ - 401013, - 401014, 401015 ], "ps_consume": [ @@ -257,7 +247,7 @@ "text": "巨型猩猩" }, "difficulty": 6, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -285,8 +275,6 @@ "drop": 1006, "bossmodel": 53001, "boss": [ - 401016, - 401017, 401018 ], "ps_consume": [ @@ -312,7 +300,7 @@ "text": "巨型猩猩" }, "difficulty": 7, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -340,8 +328,6 @@ "drop": 1007, "bossmodel": 53001, "boss": [ - 401019, - 401020, 401021 ], "ps_consume": [ @@ -367,7 +353,7 @@ "text": "巨型猩猩" }, "difficulty": 8, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -395,8 +381,6 @@ "drop": 1008, "bossmodel": 53001, "boss": [ - 401022, - 401023, 401024 ], "ps_consume": [ @@ -422,7 +406,7 @@ "text": "巨型猩猩" }, "difficulty": 9, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -450,8 +434,6 @@ "drop": 1009, "bossmodel": 53001, "boss": [ - 401025, - 401026, 401027 ], "ps_consume": [ @@ -477,7 +459,7 @@ "text": "巨型猩猩" }, "difficulty": 10, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -505,8 +487,6 @@ "drop": 1010, "bossmodel": 53001, "boss": [ - 401028, - 401029, 401030 ], "ps_consume": [ @@ -532,7 +512,7 @@ "text": "火龙" }, "difficulty": 1, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -550,8 +530,6 @@ "drop": 1011, "bossmodel": 51004, "boss": [ - 402001, - 402002, 402003 ], "ps_consume": [ @@ -577,7 +555,7 @@ "text": "火龙" }, "difficulty": 2, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -600,8 +578,6 @@ "drop": 1012, "bossmodel": 51004, "boss": [ - 402004, - 402005, 402006 ], "ps_consume": [ @@ -627,7 +603,7 @@ "text": "火龙" }, "difficulty": 3, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -650,8 +626,6 @@ "drop": 1013, "bossmodel": 51004, "boss": [ - 402007, - 402008, 402009 ], "ps_consume": [ @@ -677,7 +651,7 @@ "text": "火龙" }, "difficulty": 4, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -700,8 +674,6 @@ "drop": 1014, "bossmodel": 51004, "boss": [ - 402010, - 402011, 402012 ], "ps_consume": [ @@ -727,7 +699,7 @@ "text": "火龙" }, "difficulty": 5, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -755,8 +727,6 @@ "drop": 1015, "bossmodel": 51004, "boss": [ - 402013, - 402014, 402015 ], "ps_consume": [ @@ -782,7 +752,7 @@ "text": "火龙" }, "difficulty": 6, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -810,8 +780,6 @@ "drop": 1016, "bossmodel": 51004, "boss": [ - 402016, - 402017, 402018 ], "ps_consume": [ @@ -837,7 +805,7 @@ "text": "火龙" }, "difficulty": 7, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -865,8 +833,6 @@ "drop": 1017, "bossmodel": 51004, "boss": [ - 402019, - 402020, 402021 ], "ps_consume": [ @@ -892,7 +858,7 @@ "text": "火龙" }, "difficulty": 8, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -920,8 +886,6 @@ "drop": 1018, "bossmodel": 51004, "boss": [ - 402022, - 402023, 402024 ], "ps_consume": [ @@ -947,7 +911,7 @@ "text": "火龙" }, "difficulty": 9, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -975,8 +939,6 @@ "drop": 1019, "bossmodel": 51004, "boss": [ - 402025, - 402026, 402027 ], "ps_consume": [ @@ -1002,7 +964,7 @@ "text": "火龙" }, "difficulty": 10, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1030,8 +992,6 @@ "drop": 1020, "bossmodel": 51004, "boss": [ - 402028, - 402029, 402030 ], "ps_consume": [ @@ -1057,7 +1017,7 @@ "text": "大厨" }, "difficulty": 1, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1075,8 +1035,6 @@ "drop": 1021, "bossmodel": 51005, "boss": [ - 403001, - 403002, 403003 ], "ps_consume": [ @@ -1102,7 +1060,7 @@ "text": "大厨" }, "difficulty": 2, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1125,8 +1083,6 @@ "drop": 1022, "bossmodel": 51005, "boss": [ - 403004, - 403005, 403006 ], "ps_consume": [ @@ -1152,7 +1108,7 @@ "text": "大厨" }, "difficulty": 3, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1175,8 +1131,6 @@ "drop": 1023, "bossmodel": 51005, "boss": [ - 403007, - 403008, 403009 ], "ps_consume": [ @@ -1202,7 +1156,7 @@ "text": "大厨" }, "difficulty": 4, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1225,8 +1179,6 @@ "drop": 1024, "bossmodel": 51005, "boss": [ - 403010, - 403011, 403012 ], "ps_consume": [ @@ -1252,7 +1204,7 @@ "text": "大厨" }, "difficulty": 5, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1280,8 +1232,6 @@ "drop": 1025, "bossmodel": 51005, "boss": [ - 403013, - 403014, 403015 ], "ps_consume": [ @@ -1307,7 +1257,7 @@ "text": "大厨" }, "difficulty": 6, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1335,8 +1285,6 @@ "drop": 1026, "bossmodel": 51005, "boss": [ - 403016, - 403017, 403018 ], "ps_consume": [ @@ -1362,7 +1310,7 @@ "text": "大厨" }, "difficulty": 7, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1390,8 +1338,6 @@ "drop": 1027, "bossmodel": 51005, "boss": [ - 403019, - 403020, 403021 ], "ps_consume": [ @@ -1417,7 +1363,7 @@ "text": "大厨" }, "difficulty": 8, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1445,8 +1391,6 @@ "drop": 1028, "bossmodel": 51005, "boss": [ - 403022, - 403023, 403024 ], "ps_consume": [ @@ -1472,7 +1416,7 @@ "text": "大厨" }, "difficulty": 9, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1500,8 +1444,6 @@ "drop": 1029, "bossmodel": 51005, "boss": [ - 403025, - 403026, 403027 ], "ps_consume": [ @@ -1527,7 +1469,7 @@ "text": "大厨" }, "difficulty": 10, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1555,8 +1497,6 @@ "drop": 1030, "bossmodel": 51005, "boss": [ - 403028, - 403029, 403030 ], "ps_consume": [ @@ -1582,7 +1522,7 @@ "text": "太空海星" }, "difficulty": 1, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1600,8 +1540,6 @@ "drop": 1021, "bossmodel": 51002, "boss": [ - 404001, - 404002, 404003 ], "ps_consume": [ @@ -1627,7 +1565,7 @@ "text": "太空海星" }, "difficulty": 2, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1650,8 +1588,6 @@ "drop": 1022, "bossmodel": 51002, "boss": [ - 404004, - 404005, 404006 ], "ps_consume": [ @@ -1677,7 +1613,7 @@ "text": "太空海星" }, "difficulty": 3, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1700,8 +1636,6 @@ "drop": 1023, "bossmodel": 51002, "boss": [ - 404007, - 404008, 404009 ], "ps_consume": [ @@ -1727,7 +1661,7 @@ "text": "太空海星" }, "difficulty": 4, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1750,8 +1684,6 @@ "drop": 1024, "bossmodel": 51002, "boss": [ - 404010, - 404011, 404012 ], "ps_consume": [ @@ -1777,7 +1709,7 @@ "text": "太空海星" }, "difficulty": 5, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1805,8 +1737,6 @@ "drop": 1025, "bossmodel": 51002, "boss": [ - 404013, - 404014, 404015 ], "ps_consume": [ @@ -1832,7 +1762,7 @@ "text": "太空海星" }, "difficulty": 6, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1860,8 +1790,6 @@ "drop": 1026, "bossmodel": 51002, "boss": [ - 404016, - 404017, 404018 ], "ps_consume": [ @@ -1887,7 +1815,7 @@ "text": "太空海星" }, "difficulty": 7, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1915,8 +1843,6 @@ "drop": 1027, "bossmodel": 51002, "boss": [ - 404019, - 404020, 404021 ], "ps_consume": [ @@ -1942,7 +1868,7 @@ "text": "太空海星" }, "difficulty": 8, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -1970,8 +1896,6 @@ "drop": 1028, "bossmodel": 51002, "boss": [ - 404022, - 404023, 404024 ], "ps_consume": [ @@ -1997,7 +1921,7 @@ "text": "太空海星" }, "difficulty": 9, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -2025,8 +1949,6 @@ "drop": 1029, "bossmodel": 51002, "boss": [ - 404025, - 404026, 404027 ], "ps_consume": [ @@ -2052,7 +1974,7 @@ "text": "太空海星" }, "difficulty": 10, - "BattleReadyID": 107, + "BattleReadyID": 120, "firstprize": [ { "a": "attr", @@ -2080,8 +2002,6 @@ "drop": 1030, "bossmodel": 51002, "boss": [ - 404028, - 404029, 404030 ], "ps_consume": [ diff --git a/bin/json/game_monsterformat.json b/bin/json/game_monsterformat.json index aa08e35ad..1cbb44c01 100644 --- a/bin/json/game_monsterformat.json +++ b/bin/json/game_monsterformat.json @@ -15122,9 +15122,9 @@ "Id": 301013, "pos": 4, "captainId": 0, - "IsBoss": 0, - "bossHpCnt": 0, - "monster": -1, + "IsBoss": 1, + "bossHpCnt": 4, + "monster": 550025, "lv": 35, "hppro": 0.6, "atkpro": 1, @@ -15319,7 +15319,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 40, "hppro": 0.6, "atkpro": 1, @@ -15514,7 +15514,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 45, "hppro": 0.6, "atkpro": 1, @@ -15709,7 +15709,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 50, "hppro": 0.6, "atkpro": 1, @@ -15904,7 +15904,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 55, "hppro": 0.6, "atkpro": 1, @@ -16099,7 +16099,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 60, "hppro": 0.6, "atkpro": 1, @@ -16294,7 +16294,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 65, "hppro": 0.6, "atkpro": 1, @@ -16489,7 +16489,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 70, "hppro": 0.6, "atkpro": 1, @@ -16684,7 +16684,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 75, "hppro": 0.6, "atkpro": 1, @@ -16879,7 +16879,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 60, "hppro": 0.6, "atkpro": 1, @@ -17074,7 +17074,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 35, "hppro": 0.6, "atkpro": 1, @@ -17269,7 +17269,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 40, "hppro": 0.6, "atkpro": 1, @@ -17464,7 +17464,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 45, "hppro": 0.6, "atkpro": 1, @@ -17659,7 +17659,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 50, "hppro": 0.6, "atkpro": 1, @@ -17854,7 +17854,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 55, "hppro": 0.6, "atkpro": 1, @@ -18049,7 +18049,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 60, "hppro": 0.6, "atkpro": 1, @@ -18244,7 +18244,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 65, "hppro": 0.6, "atkpro": 1, @@ -18439,7 +18439,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 70, "hppro": 0.6, "atkpro": 1, @@ -18634,7 +18634,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 75, "hppro": 0.6, "atkpro": 1, @@ -18829,7 +18829,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 80, "hppro": 0.6, "atkpro": 1, @@ -19024,7 +19024,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 35, "hppro": 0.6, "atkpro": 1, @@ -19219,7 +19219,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 40, "hppro": 0.6, "atkpro": 1, @@ -19414,7 +19414,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 45, "hppro": 0.6, "atkpro": 1, @@ -19609,7 +19609,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 50, "hppro": 0.6, "atkpro": 1, @@ -19804,7 +19804,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 55, "hppro": 0.6, "atkpro": 1, @@ -19999,7 +19999,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 60, "hppro": 0.6, "atkpro": 1, @@ -20194,7 +20194,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 65, "hppro": 0.6, "atkpro": 1, @@ -20389,7 +20389,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 70, "hppro": 0.6, "atkpro": 1, @@ -20584,7 +20584,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 75, "hppro": 0.6, "atkpro": 1, @@ -20779,7 +20779,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 80, "hppro": 0.6, "atkpro": 1, @@ -89315,7 +89315,7 @@ "captainId": 0, "IsBoss": 1, "bossHpCnt": 4, - "monster": 110215, + "monster": 550025, "lv": 60, "hppro": 0.6, "atkpro": 1, diff --git a/bin/json/game_rdtaskcondi.json b/bin/json/game_rdtaskcondi.json index 2d97599b4..b2c93a270 100644 --- a/bin/json/game_rdtaskcondi.json +++ b/bin/json/game_rdtaskcondi.json @@ -1176,7 +1176,7 @@ }, "type": 70, "valid": 0, - "NPC": 10031, + "NPC": 10022, "data1": 1, "data2": 101, "data3": 0, @@ -1688,7 +1688,7 @@ }, "type": 73, "valid": 0, - "NPC": 10071, + "NPC": 70022, "data1": 1, "data2": 1, "data3": 1, @@ -1736,7 +1736,7 @@ }, "type": 70, "valid": 0, - "NPC": 10101, + "NPC": 10120, "data1": 1, "data2": 102, "data3": 0, @@ -5752,7 +5752,7 @@ }, "type": 20001, "valid": 1, - "NPC": 10011, + "NPC": 10012, "data1": 1, "data2": 602, "data3": 0, diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index df9e70724..4ccff658b 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -10819,10 +10819,10 @@ { "Id": 214003213, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 2, "Type": 1, "Argu": [ @@ -10844,10 +10844,10 @@ { "Id": 214003214, "EmitPR": 1000, - "From": 2, + "From": 4, "Where": [], "Order": "", - "Limit": 10, + "Limit": 1, "ExecuteCnt": 1, "Type": 3, "Argu": [ diff --git a/bin/json/game_skillbuff.json b/bin/json/game_skillbuff.json index e5e119e09..c59822aad 100644 --- a/bin/json/game_skillbuff.json +++ b/bin/json/game_skillbuff.json @@ -1153,7 +1153,7 @@ "SameID": false, "golbalbufficon": "", "buffIcon": "ty_zd_buff_ts004", - "buffeffect": "effect_14001_skill_2", + "buffeffect": "effect_14001_qiuzhangzhinu", "buffpos": "根节点" }, { diff --git a/bin/json/game_smithyatlas.json b/bin/json/game_smithyatlas.json index b7e995d95..5fefd5b77 100644 --- a/bin/json/game_smithyatlas.json +++ b/bin/json/game_smithyatlas.json @@ -8,7 +8,7 @@ "text": "无极神功套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10110", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装1】的故事。" }, "atlas_score": 0, @@ -27,7 +27,7 @@ "text": "无极神功套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10111", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装2】的故事。" }, "atlas_score": 0, @@ -46,7 +46,7 @@ "text": "无极神功套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10112", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装3】的故事。" }, "atlas_score": 0, @@ -65,7 +65,7 @@ "text": "无极神功套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10113", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装4】的故事。" }, "atlas_score": 0, @@ -84,7 +84,7 @@ "text": "无极神功套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10114", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装5】的故事。" }, "atlas_score": 0, @@ -103,7 +103,7 @@ "text": "无极神功套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10115", + "key": "equip_skillintr_1", "text": "这里会有一段关于【无极神功套装6】的故事。" }, "atlas_score": 0, @@ -122,7 +122,7 @@ "text": "驯龙套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10210", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装1】的故事。" }, "atlas_score": 0, @@ -141,7 +141,7 @@ "text": "驯龙套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10211", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装2】的故事。" }, "atlas_score": 0, @@ -160,7 +160,7 @@ "text": "驯龙套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10212", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装3】的故事。" }, "atlas_score": 0, @@ -179,7 +179,7 @@ "text": "驯龙套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10213", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装4】的故事。" }, "atlas_score": 0, @@ -198,7 +198,7 @@ "text": "驯龙套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10214", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装5】的故事。" }, "atlas_score": 0, @@ -217,7 +217,7 @@ "text": "驯龙套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10215", + "key": "equip_skillintr_2", "text": "这里会有一段关于【驯龙套装6】的故事。" }, "atlas_score": 0, @@ -236,7 +236,7 @@ "text": "雪精灵套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10310", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装1】的故事。" }, "atlas_score": 0, @@ -255,7 +255,7 @@ "text": "雪精灵套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10311", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装2】的故事。" }, "atlas_score": 0, @@ -274,7 +274,7 @@ "text": "雪精灵套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10312", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装3】的故事。" }, "atlas_score": 0, @@ -293,7 +293,7 @@ "text": "雪精灵套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10313", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装4】的故事。" }, "atlas_score": 0, @@ -312,7 +312,7 @@ "text": "雪精灵套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10314", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装5】的故事。" }, "atlas_score": 0, @@ -331,7 +331,7 @@ "text": "雪精灵套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10315", + "key": "equip_skillintr_3", "text": "这里会有一段关于【雪精灵套装6】的故事。" }, "atlas_score": 0, @@ -350,7 +350,7 @@ "text": "噩梦漩涡套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10410", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装1】的故事。" }, "atlas_score": 0, @@ -369,7 +369,7 @@ "text": "噩梦漩涡套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10411", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装2】的故事。" }, "atlas_score": 0, @@ -388,7 +388,7 @@ "text": "噩梦漩涡套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10412", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装3】的故事。" }, "atlas_score": 0, @@ -407,7 +407,7 @@ "text": "噩梦漩涡套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10413", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装4】的故事。" }, "atlas_score": 0, @@ -426,7 +426,7 @@ "text": "噩梦漩涡套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10414", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装5】的故事。" }, "atlas_score": 0, @@ -445,7 +445,7 @@ "text": "噩梦漩涡套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10415", + "key": "equip_skillintr_4", "text": "这里会有一段关于【噩梦漩涡套装6】的故事。" }, "atlas_score": 0, @@ -464,7 +464,7 @@ "text": "音乐精灵套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10510", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装1】的故事。" }, "atlas_score": 0, @@ -483,7 +483,7 @@ "text": "音乐精灵套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10511", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装2】的故事。" }, "atlas_score": 0, @@ -502,7 +502,7 @@ "text": "音乐精灵套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10512", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装3】的故事。" }, "atlas_score": 0, @@ -521,7 +521,7 @@ "text": "音乐精灵套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10513", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装4】的故事。" }, "atlas_score": 0, @@ -540,7 +540,7 @@ "text": "音乐精灵套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10514", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装5】的故事。" }, "atlas_score": 0, @@ -559,7 +559,7 @@ "text": "音乐精灵套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10515", + "key": "equip_skillintr_5", "text": "这里会有一段关于【音乐精灵套装6】的故事。" }, "atlas_score": 0, @@ -578,7 +578,7 @@ "text": "永恒萌狗套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10610", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装1】的故事。" }, "atlas_score": 0, @@ -597,7 +597,7 @@ "text": "永恒萌狗套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10611", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装2】的故事。" }, "atlas_score": 0, @@ -616,7 +616,7 @@ "text": "永恒萌狗套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10612", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装3】的故事。" }, "atlas_score": 0, @@ -635,7 +635,7 @@ "text": "永恒萌狗套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10613", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装4】的故事。" }, "atlas_score": 0, @@ -654,7 +654,7 @@ "text": "永恒萌狗套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10614", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装5】的故事。" }, "atlas_score": 0, @@ -673,7 +673,7 @@ "text": "永恒萌狗套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10615", + "key": "equip_skillintr_6", "text": "这里会有一段关于【永恒萌狗套装6】的故事。" }, "atlas_score": 0, @@ -692,7 +692,7 @@ "text": "原始狩猎套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10710", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装1】的故事。" }, "atlas_score": 0, @@ -711,7 +711,7 @@ "text": "原始狩猎套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10711", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装2】的故事。" }, "atlas_score": 0, @@ -730,7 +730,7 @@ "text": "原始狩猎套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10712", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装3】的故事。" }, "atlas_score": 0, @@ -749,7 +749,7 @@ "text": "原始狩猎套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10713", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装4】的故事。" }, "atlas_score": 0, @@ -768,7 +768,7 @@ "text": "原始狩猎套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10714", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装5】的故事。" }, "atlas_score": 0, @@ -787,7 +787,7 @@ "text": "原始狩猎套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10715", + "key": "equip_skillintr_7", "text": "这里会有一段关于【原始狩猎套装6】的故事。" }, "atlas_score": 0, @@ -806,7 +806,7 @@ "text": "气功大师套装1" }, "content_text": { - "key": "newsmithy_tool_content_text10810", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装1】的故事。" }, "atlas_score": 0, @@ -825,7 +825,7 @@ "text": "气功大师套装2" }, "content_text": { - "key": "newsmithy_tool_content_text10811", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装2】的故事。" }, "atlas_score": 0, @@ -844,7 +844,7 @@ "text": "气功大师套装3" }, "content_text": { - "key": "newsmithy_tool_content_text10812", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装3】的故事。" }, "atlas_score": 0, @@ -863,7 +863,7 @@ "text": "气功大师套装4" }, "content_text": { - "key": "newsmithy_tool_content_text10813", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装4】的故事。" }, "atlas_score": 0, @@ -882,7 +882,7 @@ "text": "气功大师套装5" }, "content_text": { - "key": "newsmithy_tool_content_text10814", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装5】的故事。" }, "atlas_score": 0, @@ -901,7 +901,7 @@ "text": "气功大师套装6" }, "content_text": { - "key": "newsmithy_tool_content_text10815", + "key": "equip_skillintr_8", "text": "这里会有一段关于【气功大师套装6】的故事。" }, "atlas_score": 0, @@ -920,7 +920,7 @@ "text": "马术套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11010", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装1】的故事。" }, "atlas_score": 0, @@ -939,7 +939,7 @@ "text": "马术套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11011", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装2】的故事。" }, "atlas_score": 0, @@ -958,7 +958,7 @@ "text": "马术套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11012", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装3】的故事。" }, "atlas_score": 0, @@ -977,7 +977,7 @@ "text": "马术套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11013", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装4】的故事。" }, "atlas_score": 0, @@ -996,7 +996,7 @@ "text": "马术套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11014", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装5】的故事。" }, "atlas_score": 0, @@ -1015,7 +1015,7 @@ "text": "马术套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11015", + "key": "equip_skillintr_10", "text": "这里会有一段关于【马术套装6】的故事。" }, "atlas_score": 0, @@ -1034,7 +1034,7 @@ "text": "波波星套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11110", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装1】的故事。" }, "atlas_score": 0, @@ -1053,7 +1053,7 @@ "text": "波波星套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11111", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装2】的故事。" }, "atlas_score": 0, @@ -1072,7 +1072,7 @@ "text": "波波星套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11112", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装3】的故事。" }, "atlas_score": 0, @@ -1091,7 +1091,7 @@ "text": "波波星套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11113", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装4】的故事。" }, "atlas_score": 0, @@ -1110,7 +1110,7 @@ "text": "波波星套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11114", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装5】的故事。" }, "atlas_score": 0, @@ -1129,7 +1129,7 @@ "text": "波波星套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11115", + "key": "equip_skillintr_11", "text": "这里会有一段关于【波波星套装6】的故事。" }, "atlas_score": 0, @@ -1148,7 +1148,7 @@ "text": "穴居人套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11210", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装1】的故事。" }, "atlas_score": 0, @@ -1167,7 +1167,7 @@ "text": "穴居人套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11211", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装2】的故事。" }, "atlas_score": 0, @@ -1186,7 +1186,7 @@ "text": "穴居人套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11212", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装3】的故事。" }, "atlas_score": 0, @@ -1205,7 +1205,7 @@ "text": "穴居人套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11213", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装4】的故事。" }, "atlas_score": 0, @@ -1224,7 +1224,7 @@ "text": "穴居人套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11214", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装5】的故事。" }, "atlas_score": 0, @@ -1243,7 +1243,7 @@ "text": "穴居人套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11215", + "key": "equip_skillintr_12", "text": "这里会有一段关于【穴居人套装6】的故事。" }, "atlas_score": 0, @@ -1262,7 +1262,7 @@ "text": "文明人套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11310", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装1】的故事。" }, "atlas_score": 0, @@ -1281,7 +1281,7 @@ "text": "文明人套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11311", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装2】的故事。" }, "atlas_score": 0, @@ -1300,7 +1300,7 @@ "text": "文明人套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11312", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装3】的故事。" }, "atlas_score": 0, @@ -1319,7 +1319,7 @@ "text": "文明人套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11313", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装4】的故事。" }, "atlas_score": 0, @@ -1338,7 +1338,7 @@ "text": "文明人套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11314", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装5】的故事。" }, "atlas_score": 0, @@ -1357,7 +1357,7 @@ "text": "文明人套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11315", + "key": "equip_skillintr_13", "text": "这里会有一段关于【文明人套装6】的故事。" }, "atlas_score": 0, @@ -1376,7 +1376,7 @@ "text": "马戏团套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11410", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装1】的故事。" }, "atlas_score": 0, @@ -1395,7 +1395,7 @@ "text": "马戏团套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11411", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装2】的故事。" }, "atlas_score": 0, @@ -1414,7 +1414,7 @@ "text": "马戏团套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11412", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装3】的故事。" }, "atlas_score": 0, @@ -1433,7 +1433,7 @@ "text": "马戏团套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11413", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装4】的故事。" }, "atlas_score": 0, @@ -1452,7 +1452,7 @@ "text": "马戏团套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11414", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装5】的故事。" }, "atlas_score": 0, @@ -1471,7 +1471,7 @@ "text": "马戏团套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11415", + "key": "equip_skillintr_14", "text": "这里会有一段关于【马戏团套装6】的故事。" }, "atlas_score": 0, @@ -1490,7 +1490,7 @@ "text": "泰坦套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11510", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装1】的故事。" }, "atlas_score": 0, @@ -1509,7 +1509,7 @@ "text": "泰坦套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11511", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装2】的故事。" }, "atlas_score": 0, @@ -1528,7 +1528,7 @@ "text": "泰坦套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11512", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装3】的故事。" }, "atlas_score": 0, @@ -1547,7 +1547,7 @@ "text": "泰坦套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11513", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装4】的故事。" }, "atlas_score": 0, @@ -1566,7 +1566,7 @@ "text": "泰坦套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11514", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装5】的故事。" }, "atlas_score": 0, @@ -1585,7 +1585,7 @@ "text": "泰坦套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11515", + "key": "equip_skillintr_15", "text": "这里会有一段关于【泰坦套装6】的故事。" }, "atlas_score": 0, @@ -1604,7 +1604,7 @@ "text": "巨怪猎人套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11610", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装1】的故事。" }, "atlas_score": 0, @@ -1623,7 +1623,7 @@ "text": "巨怪猎人套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11611", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装2】的故事。" }, "atlas_score": 0, @@ -1642,7 +1642,7 @@ "text": "巨怪猎人套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11612", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装3】的故事。" }, "atlas_score": 0, @@ -1661,7 +1661,7 @@ "text": "巨怪猎人套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11613", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装4】的故事。" }, "atlas_score": 0, @@ -1680,7 +1680,7 @@ "text": "巨怪猎人套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11614", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装5】的故事。" }, "atlas_score": 0, @@ -1699,7 +1699,7 @@ "text": "巨怪猎人套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11615", + "key": "equip_skillintr_16", "text": "这里会有一段关于【巨怪猎人套装6】的故事。" }, "atlas_score": 0, @@ -1718,7 +1718,7 @@ "text": "天外陨石套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11710", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装1】的故事。" }, "atlas_score": 0, @@ -1737,7 +1737,7 @@ "text": "天外陨石套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11711", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装2】的故事。" }, "atlas_score": 0, @@ -1756,7 +1756,7 @@ "text": "天外陨石套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11712", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装3】的故事。" }, "atlas_score": 0, @@ -1775,7 +1775,7 @@ "text": "天外陨石套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11713", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装4】的故事。" }, "atlas_score": 0, @@ -1794,7 +1794,7 @@ "text": "天外陨石套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11714", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装5】的故事。" }, "atlas_score": 0, @@ -1813,7 +1813,7 @@ "text": "天外陨石套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11715", + "key": "equip_skillintr_17", "text": "这里会有一段关于【天外陨石套装6】的故事。" }, "atlas_score": 0, @@ -1832,7 +1832,7 @@ "text": "沼泽怪物套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11810", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装1】的故事。" }, "atlas_score": 0, @@ -1851,7 +1851,7 @@ "text": "沼泽怪物套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11811", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装2】的故事。" }, "atlas_score": 0, @@ -1870,7 +1870,7 @@ "text": "沼泽怪物套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11812", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装3】的故事。" }, "atlas_score": 0, @@ -1889,7 +1889,7 @@ "text": "沼泽怪物套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11813", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装4】的故事。" }, "atlas_score": 0, @@ -1908,7 +1908,7 @@ "text": "沼泽怪物套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11814", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装5】的故事。" }, "atlas_score": 0, @@ -1927,7 +1927,7 @@ "text": "沼泽怪物套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11815", + "key": "equip_skillintr_18", "text": "这里会有一段关于【沼泽怪物套装6】的故事。" }, "atlas_score": 0, @@ -1946,7 +1946,7 @@ "text": "守护神套装1" }, "content_text": { - "key": "newsmithy_tool_content_text11910", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装1】的故事。" }, "atlas_score": 0, @@ -1965,7 +1965,7 @@ "text": "守护神套装2" }, "content_text": { - "key": "newsmithy_tool_content_text11911", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装2】的故事。" }, "atlas_score": 0, @@ -1984,7 +1984,7 @@ "text": "守护神套装3" }, "content_text": { - "key": "newsmithy_tool_content_text11912", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装3】的故事。" }, "atlas_score": 0, @@ -2003,7 +2003,7 @@ "text": "守护神套装4" }, "content_text": { - "key": "newsmithy_tool_content_text11913", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装4】的故事。" }, "atlas_score": 0, @@ -2022,7 +2022,7 @@ "text": "守护神套装5" }, "content_text": { - "key": "newsmithy_tool_content_text11914", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装5】的故事。" }, "atlas_score": 0, @@ -2041,7 +2041,7 @@ "text": "守护神套装6" }, "content_text": { - "key": "newsmithy_tool_content_text11915", + "key": "equip_skillintr_19", "text": "这里会有一段关于【守护神套装6】的故事。" }, "atlas_score": 0, diff --git a/bin/json/game_taskactivereward.json b/bin/json/game_taskactivereward.json index fb555e24c..4174a8a5c 100644 --- a/bin/json/game_taskactivereward.json +++ b/bin/json/game_taskactivereward.json @@ -1,110 +1,34 @@ [ { "key": 1, - "id_tag": 1, - "active": 20, + "id_tag": 2, + "active": 40, "reword": [ { "a": "attr", "t": "diamond", - "n": 5 + "n": 10 } - ] + ], + "action": "Skill_2", + "stage": 1 }, { "key": 2, - "id_tag": 1, - "active": 40, + "id_tag": 2, + "active": 80, "reword": [ { "a": "attr", - "t": "gold", - "n": 10000 + "t": "diamond", + "n": 10 } - ] + ], + "action": "Skill_2", + "stage": 2 }, { "key": 3, - "id_tag": 1, - "active": 60, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 4, - "id_tag": 1, - "active": 80, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 20000 - } - ] - }, - { - "key": 5, - "id_tag": 1, - "active": 100, - "reword": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "gold", - "n": 50000 - } - ] - }, - { - "key": 6, - "id_tag": 2, - "active": 40, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 25000 - } - ] - }, - { - "key": 7, - "id_tag": 2, - "active": 80, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 25000 - } - ] - }, - { - "key": 8, "id_tag": 2, "active": 120, "reword": [ @@ -113,10 +37,12 @@ "t": "diamond", "n": 20 } - ] + ], + "action": "Skill_2", + "stage": 3 }, { - "key": 9, + "key": 4, "id_tag": 2, "active": 160, "reword": [ @@ -124,29 +50,9 @@ "a": "attr", "t": "diamond", "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 75000 } - ] - }, - { - "key": 10, - "id_tag": 2, - "active": 200, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - }, - { - "a": "attr", - "t": "gold", - "n": 200000 - } - ] + ], + "action": "Skill_2", + "stage": 4 } ] \ No newline at end of file diff --git a/bin/json/game_taskround.json b/bin/json/game_taskround.json index edeb0cd42..eda75a7a0 100644 --- a/bin/json/game_taskround.json +++ b/bin/json/game_taskround.json @@ -1,100 +1,10 @@ [ - { - "key": 10001, - "id_list": 1, - "id_tag": 1, - "task_display": { - "key": "task_10001", - "text": "进行1次普通招募" - }, - "type_id": 2018001, - "active": 20, - "id_after": 0, - "jump_interface": 107, - "icon": "wp_icon_0001", - "reword": [] - }, - { - "key": 10002, - "id_list": 2, - "id_tag": 1, - "task_display": { - "key": "task_10002", - "text": "为任意英雄提升1次等级" - }, - "type_id": 2024001, - "active": 20, - "id_after": 0, - "jump_interface": 103, - "icon": "wp_icon_0001", - "reword": [] - }, - { - "key": 10004, - "id_list": 4, - "id_tag": 1, - "task_display": { - "key": "task_10004", - "text": "强化任意装备成功1次" - }, - "type_id": 2047001, - "active": 20, - "id_after": 0, - "jump_interface": 102, - "icon": "wp_icon_0001", - "reword": [] - }, - { - "key": 10006, - "id_list": 6, - "id_tag": 1, - "task_display": { - "key": "task_10006", - "text": "在商店购买任意1件商品" - }, - "type_id": 2064001, - "active": 20, - "id_after": 0, - "jump_interface": 122, - "icon": "wp_icon_0001", - "reword": [] - }, - { - "key": 10007, - "id_list": 7, - "id_tag": 1, - "task_display": { - "key": "task_10007", - "text": "使用好友助战英雄战斗1次" - }, - "type_id": 2012001, - "active": 20, - "id_after": 0, - "jump_interface": 113, - "icon": "wp_icon_0001", - "reword": [] - }, { "key": 20001, - "id_list": 8, - "id_tag": 1, - "task_display": { - "key": "task_20001", - "text": "进行竞技场挑战1次" - }, - "type_id": 2130001, - "active": 20, - "id_after": 0, - "jump_interface": 156, - "icon": "wp_icon_0001", - "reword": [] - }, - { - "key": 20002, - "id_list": 9, + "id_list": 1, "id_tag": 2, "task_display": { - "key": "task_20002", + "key": "task_20001", "text": "进行10次普通招募" }, "type_id": 3018001, @@ -105,11 +15,11 @@ "reword": [] }, { - "key": 20003, - "id_list": 10, + "key": 20002, + "id_list": 2, "id_tag": 2, "task_display": { - "key": "task_20003", + "key": "task_20002", "text": "为任意英雄提升10次等级" }, "type_id": 3024001, @@ -120,11 +30,11 @@ "reword": [] }, { - "key": 20005, - "id_list": 12, + "key": 20003, + "id_list": 3, "id_tag": 2, "task_display": { - "key": "task_20005", + "key": "task_20003", "text": "强化任意装备成功6次" }, "type_id": 3047001, @@ -135,11 +45,11 @@ "reword": [] }, { - "key": 20007, - "id_list": 14, + "key": 20004, + "id_list": 4, "id_tag": 2, "task_display": { - "key": "task_20007", + "key": "task_20004", "text": "在商店购买任意7件商品" }, "type_id": 3064001, @@ -150,11 +60,11 @@ "reword": [] }, { - "key": 20008, - "id_list": 15, + "key": 20005, + "id_list": 5, "id_tag": 2, "task_display": { - "key": "task_20008", + "key": "task_20005", "text": "使用好友助战英雄战斗7次" }, "type_id": 3012001, @@ -165,11 +75,11 @@ "reword": [] }, { - "key": 20010, - "id_list": 17, + "key": 20006, + "id_list": 6, "id_tag": 2, "task_display": { - "key": "task_20010", + "key": "task_20006", "text": "刷新商店10次" }, "type_id": 3105001, @@ -180,11 +90,11 @@ "reword": [] }, { - "key": 20011, - "id_list": 18, + "key": 20007, + "id_list": 7, "id_tag": 2, "task_display": { - "key": "task_20011", + "key": "task_20007", "text": "消费1000颗钻石" }, "type_id": 3104001, @@ -195,11 +105,11 @@ "reword": [] }, { - "key": 20012, - "id_list": 19, + "key": 20008, + "id_list": 8, "id_tag": 2, "task_display": { - "key": "task_20012", + "key": "task_20008", "text": "进行30场竞技场挑战" }, "type_id": 3130001, @@ -208,2924 +118,5 @@ "jump_interface": 156, "icon": "wp_icon_0001", "reword": [] - }, - { - "key": 30011, - "id_list": 30, - "id_tag": 3, - "task_display": { - "key": "task_30011", - "text": "拥有1个好友" - }, - "type_id": 4010001, - "active": 0, - "id_after": 4010002, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30012, - "id_list": 31, - "id_tag": 3, - "task_display": { - "key": "task_30012", - "text": "拥有5个好友" - }, - "type_id": 4010002, - "active": 0, - "id_after": 4010003, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30013, - "id_list": 32, - "id_tag": 3, - "task_display": { - "key": "task_30013", - "text": "拥有10个好友" - }, - "type_id": 4010003, - "active": 0, - "id_after": 4010004, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30014, - "id_list": 33, - "id_tag": 3, - "task_display": { - "key": "task_30014", - "text": "拥有20个好友" - }, - "type_id": 4010004, - "active": 0, - "id_after": 4010005, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30015, - "id_list": 34, - "id_tag": 3, - "task_display": { - "key": "task_30015", - "text": "拥有30个好友" - }, - "type_id": 4010005, - "active": 0, - "id_after": 4010006, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30016, - "id_list": 35, - "id_tag": 3, - "task_display": { - "key": "task_30016", - "text": "拥有50个好友" - }, - "type_id": 4010006, - "active": 0, - "id_after": 0, - "jump_interface": 117, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30017, - "id_list": 36, - "id_tag": 3, - "task_display": { - "key": "task_30017", - "text": "赠送5次友情点" - }, - "type_id": 4011001, - "active": 0, - "id_after": 4011002, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30018, - "id_list": 37, - "id_tag": 3, - "task_display": { - "key": "task_30018", - "text": "赠送10次友情点" - }, - "type_id": 4011002, - "active": 0, - "id_after": 4011003, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30019, - "id_list": 38, - "id_tag": 3, - "task_display": { - "key": "task_30019", - "text": "赠送30次友情点" - }, - "type_id": 4011003, - "active": 0, - "id_after": 4011004, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30020, - "id_list": 39, - "id_tag": 3, - "task_display": { - "key": "task_30020", - "text": "赠送50次友情点" - }, - "type_id": 4011004, - "active": 0, - "id_after": 4011005, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30021, - "id_list": 40, - "id_tag": 3, - "task_display": { - "key": "task_30021", - "text": "赠送100次友情点" - }, - "type_id": 4011005, - "active": 0, - "id_after": 4011006, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30022, - "id_list": 41, - "id_tag": 3, - "task_display": { - "key": "task_30022", - "text": "赠送300次友情点" - }, - "type_id": 4011006, - "active": 0, - "id_after": 4011007, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30023, - "id_list": 42, - "id_tag": 3, - "task_display": { - "key": "task_30023", - "text": "赠送500次友情点" - }, - "type_id": 4011007, - "active": 0, - "id_after": 4011008, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30024, - "id_list": 43, - "id_tag": 3, - "task_display": { - "key": "task_30024", - "text": "赠送1000次友情点" - }, - "type_id": 4011008, - "active": 0, - "id_after": 4011009, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30025, - "id_list": 44, - "id_tag": 3, - "task_display": { - "key": "task_30025", - "text": "赠送3000次友情点" - }, - "type_id": 4011009, - "active": 0, - "id_after": 4011010, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30026, - "id_list": 45, - "id_tag": 3, - "task_display": { - "key": "task_30026", - "text": "赠送5000次友情点" - }, - "type_id": 4011010, - "active": 0, - "id_after": 4011011, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30027, - "id_list": 46, - "id_tag": 3, - "task_display": { - "key": "task_30027", - "text": "赠送10000次友情点" - }, - "type_id": 4011011, - "active": 0, - "id_after": 0, - "jump_interface": 115, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 110 - } - ] - }, - { - "key": 30028, - "id_list": 47, - "id_tag": 3, - "task_display": { - "key": "task_30028", - "text": "使用好友助战英雄1次" - }, - "type_id": 4012001, - "active": 0, - "id_after": 4012002, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30029, - "id_list": 48, - "id_tag": 3, - "task_display": { - "key": "task_30029", - "text": "使用好友助战英雄5次" - }, - "type_id": 4012002, - "active": 0, - "id_after": 4012003, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30030, - "id_list": 49, - "id_tag": 3, - "task_display": { - "key": "task_30030", - "text": "使用好友助战英雄10次" - }, - "type_id": 4012003, - "active": 0, - "id_after": 4012004, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30031, - "id_list": 50, - "id_tag": 3, - "task_display": { - "key": "task_30031", - "text": "使用好友助战英雄30次" - }, - "type_id": 4012004, - "active": 0, - "id_after": 4012005, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30032, - "id_list": 51, - "id_tag": 3, - "task_display": { - "key": "task_30032", - "text": "使用好友助战英雄50次" - }, - "type_id": 4012005, - "active": 0, - "id_after": 4012006, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30033, - "id_list": 52, - "id_tag": 3, - "task_display": { - "key": "task_30033", - "text": "使用好友助战英雄100次" - }, - "type_id": 4012006, - "active": 0, - "id_after": 4012007, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30034, - "id_list": 53, - "id_tag": 3, - "task_display": { - "key": "task_30034", - "text": "使用好友助战英雄300次" - }, - "type_id": 4012007, - "active": 0, - "id_after": 4012008, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30035, - "id_list": 54, - "id_tag": 3, - "task_display": { - "key": "task_30035", - "text": "使用好友助战英雄500次" - }, - "type_id": 4012008, - "active": 0, - "id_after": 4012009, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30036, - "id_list": 55, - "id_tag": 3, - "task_display": { - "key": "task_30036", - "text": "使用好友助战英雄1000次" - }, - "type_id": 4012009, - "active": 0, - "id_after": 0, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30037, - "id_list": 56, - "id_tag": 3, - "task_display": { - "key": "task_30037", - "text": "招募获得个15星以上品质英雄" - }, - "type_id": 4016001, - "active": 0, - "id_after": 4016002, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30038, - "id_list": 57, - "id_tag": 3, - "task_display": { - "key": "task_30038", - "text": "招募获得个25星以上品质英雄" - }, - "type_id": 4016002, - "active": 0, - "id_after": 4016003, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30039, - "id_list": 58, - "id_tag": 3, - "task_display": { - "key": "task_30039", - "text": "招募获得个35星以上品质英雄" - }, - "type_id": 4016003, - "active": 0, - "id_after": 4016004, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30040, - "id_list": 59, - "id_tag": 3, - "task_display": { - "key": "task_30040", - "text": "招募获得个55星以上品质英雄" - }, - "type_id": 4016004, - "active": 0, - "id_after": 4016005, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30041, - "id_list": 60, - "id_tag": 3, - "task_display": { - "key": "task_30041", - "text": "招募获得个105星以上品质英雄" - }, - "type_id": 4016005, - "active": 0, - "id_after": 4016006, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30042, - "id_list": 61, - "id_tag": 3, - "task_display": { - "key": "task_30042", - "text": "招募获得个155星以上品质英雄" - }, - "type_id": 4016006, - "active": 0, - "id_after": 4016007, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30043, - "id_list": 62, - "id_tag": 3, - "task_display": { - "key": "task_30043", - "text": "招募获得个205星以上品质英雄" - }, - "type_id": 4016007, - "active": 0, - "id_after": 4016008, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30044, - "id_list": 63, - "id_tag": 3, - "task_display": { - "key": "task_30044", - "text": "招募获得个305星以上品质英雄" - }, - "type_id": 4016008, - "active": 0, - "id_after": 4016009, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30045, - "id_list": 64, - "id_tag": 3, - "task_display": { - "key": "task_30045", - "text": "招募获得个505星以上品质英雄" - }, - "type_id": 4016009, - "active": 0, - "id_after": 0, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30046, - "id_list": 65, - "id_tag": 3, - "task_display": { - "key": "task_30046", - "text": "累计进行10次普通招募" - }, - "type_id": 4018001, - "active": 0, - "id_after": 4018002, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30047, - "id_list": 66, - "id_tag": 3, - "task_display": { - "key": "task_30047", - "text": "累计进行20次普通招募" - }, - "type_id": 4018002, - "active": 0, - "id_after": 4018003, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30048, - "id_list": 67, - "id_tag": 3, - "task_display": { - "key": "task_30048", - "text": "累计进行30次普通招募" - }, - "type_id": 4018003, - "active": 0, - "id_after": 4018004, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30049, - "id_list": 68, - "id_tag": 3, - "task_display": { - "key": "task_30049", - "text": "累计进行50次普通招募" - }, - "type_id": 4018004, - "active": 0, - "id_after": 4018005, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30050, - "id_list": 69, - "id_tag": 3, - "task_display": { - "key": "task_30050", - "text": "累计进行100次普通招募" - }, - "type_id": 4018005, - "active": 0, - "id_after": 4018006, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30051, - "id_list": 70, - "id_tag": 3, - "task_display": { - "key": "task_30051", - "text": "累计进行200次普通招募" - }, - "type_id": 4018006, - "active": 0, - "id_after": 4018007, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30052, - "id_list": 71, - "id_tag": 3, - "task_display": { - "key": "task_30052", - "text": "累计进行300次普通招募" - }, - "type_id": 4018007, - "active": 0, - "id_after": 4018008, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30053, - "id_list": 72, - "id_tag": 3, - "task_display": { - "key": "task_30053", - "text": "累计进行500次普通招募" - }, - "type_id": 4018008, - "active": 0, - "id_after": 4018009, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30054, - "id_list": 73, - "id_tag": 3, - "task_display": { - "key": "task_30054", - "text": "累计进行1000次普通招募" - }, - "type_id": 4018009, - "active": 0, - "id_after": 4018010, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30055, - "id_list": 74, - "id_tag": 3, - "task_display": { - "key": "task_30055", - "text": "累计进行2000次普通招募" - }, - "type_id": 4018010, - "active": 0, - "id_after": 4018011, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30056, - "id_list": 75, - "id_tag": 3, - "task_display": { - "key": "task_30056", - "text": "累计进行5000次普通招募" - }, - "type_id": 4018011, - "active": 0, - "id_after": 4018012, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 110 - } - ] - }, - { - "key": 30057, - "id_list": 76, - "id_tag": 3, - "task_display": { - "key": "task_30057", - "text": "累计进行10000次普通招募" - }, - "type_id": 4018012, - "active": 0, - "id_after": 0, - "jump_interface": 107, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 120 - } - ] - }, - { - "key": 30058, - "id_list": 77, - "id_tag": 3, - "task_display": { - "key": "task_30058", - "text": "账号等级达到10级" - }, - "type_id": 4020001, - "active": 0, - "id_after": 4020002, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30059, - "id_list": 78, - "id_tag": 3, - "task_display": { - "key": "task_30059", - "text": "账号等级达到20级" - }, - "type_id": 4020002, - "active": 0, - "id_after": 4020003, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30060, - "id_list": 79, - "id_tag": 3, - "task_display": { - "key": "task_30060", - "text": "账号等级达到30级" - }, - "type_id": 4020003, - "active": 0, - "id_after": 4020004, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30061, - "id_list": 80, - "id_tag": 3, - "task_display": { - "key": "task_30061", - "text": "账号等级达到40级" - }, - "type_id": 4020004, - "active": 0, - "id_after": 4020005, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30062, - "id_list": 81, - "id_tag": 3, - "task_display": { - "key": "task_30062", - "text": "账号等级达到50级" - }, - "type_id": 4020005, - "active": 0, - "id_after": 4020006, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30063, - "id_list": 82, - "id_tag": 3, - "task_display": { - "key": "task_30063", - "text": "账号等级达到60级" - }, - "type_id": 4020006, - "active": 0, - "id_after": 0, - "jump_interface": 113, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30064, - "id_list": 83, - "id_tag": 3, - "task_display": { - "key": "task_30064", - "text": "件装备强化至15级1" - }, - "type_id": 4043001, - "active": 0, - "id_after": 4043002, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30065, - "id_list": 84, - "id_tag": 3, - "task_display": { - "key": "task_30065", - "text": "件装备强化至15级2" - }, - "type_id": 4043002, - "active": 0, - "id_after": 4043003, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30066, - "id_list": 85, - "id_tag": 3, - "task_display": { - "key": "task_30066", - "text": "件装备强化至15级4" - }, - "type_id": 4043003, - "active": 0, - "id_after": 4043004, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30067, - "id_list": 86, - "id_tag": 3, - "task_display": { - "key": "task_30067", - "text": "件装备强化至15级6" - }, - "type_id": 4043004, - "active": 0, - "id_after": 4043005, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30068, - "id_list": 87, - "id_tag": 3, - "task_display": { - "key": "task_30068", - "text": "件装备强化至15级12" - }, - "type_id": 4043005, - "active": 0, - "id_after": 4043006, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30069, - "id_list": 88, - "id_tag": 3, - "task_display": { - "key": "task_30069", - "text": "件装备强化至15级18" - }, - "type_id": 4043006, - "active": 0, - "id_after": 4043007, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30070, - "id_list": 89, - "id_tag": 3, - "task_display": { - "key": "task_30070", - "text": "件装备强化至15级24" - }, - "type_id": 4043007, - "active": 0, - "id_after": 4043008, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30071, - "id_list": 90, - "id_tag": 3, - "task_display": { - "key": "task_30071", - "text": "件装备强化至15级30" - }, - "type_id": 4043008, - "active": 0, - "id_after": 4043009, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30072, - "id_list": 91, - "id_tag": 3, - "task_display": { - "key": "task_30072", - "text": "件装备强化至15级60" - }, - "type_id": 4043009, - "active": 0, - "id_after": 4043010, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30073, - "id_list": 92, - "id_tag": 3, - "task_display": { - "key": "task_30073", - "text": "件装备强化至15级120" - }, - "type_id": 4043010, - "active": 0, - "id_after": 0, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30074, - "id_list": 93, - "id_tag": 3, - "task_display": { - "key": "task_30074", - "text": "累计强化装备成功10次" - }, - "type_id": 4047001, - "active": 0, - "id_after": 4047002, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30075, - "id_list": 94, - "id_tag": 3, - "task_display": { - "key": "task_30075", - "text": "累计强化装备成功20次" - }, - "type_id": 4047002, - "active": 0, - "id_after": 4047003, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30076, - "id_list": 95, - "id_tag": 3, - "task_display": { - "key": "task_30076", - "text": "累计强化装备成功30次" - }, - "type_id": 4047003, - "active": 0, - "id_after": 4047004, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30077, - "id_list": 96, - "id_tag": 3, - "task_display": { - "key": "task_30077", - "text": "累计强化装备成功50次" - }, - "type_id": 4047004, - "active": 0, - "id_after": 4047005, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30078, - "id_list": 97, - "id_tag": 3, - "task_display": { - "key": "task_30078", - "text": "累计强化装备成功100次" - }, - "type_id": 4047005, - "active": 0, - "id_after": 4047006, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30079, - "id_list": 98, - "id_tag": 3, - "task_display": { - "key": "task_30079", - "text": "累计强化装备成功200次" - }, - "type_id": 4047006, - "active": 0, - "id_after": 4047007, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30080, - "id_list": 99, - "id_tag": 3, - "task_display": { - "key": "task_30080", - "text": "累计强化装备成功300次" - }, - "type_id": 4047007, - "active": 0, - "id_after": 4047008, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30081, - "id_list": 100, - "id_tag": 3, - "task_display": { - "key": "task_30081", - "text": "累计强化装备成功500次" - }, - "type_id": 4047008, - "active": 0, - "id_after": 4047009, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30082, - "id_list": 101, - "id_tag": 3, - "task_display": { - "key": "task_30082", - "text": "累计强化装备成功1000次" - }, - "type_id": 4047009, - "active": 0, - "id_after": 4047010, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30083, - "id_list": 102, - "id_tag": 3, - "task_display": { - "key": "task_30083", - "text": "累计强化装备成功2000次" - }, - "type_id": 4047010, - "active": 0, - "id_after": 4047011, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30084, - "id_list": 103, - "id_tag": 3, - "task_display": { - "key": "task_30084", - "text": "累计强化装备成功3000次" - }, - "type_id": 4047011, - "active": 0, - "id_after": 4047012, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 110 - } - ] - }, - { - "key": 30085, - "id_list": 104, - "id_tag": 3, - "task_display": { - "key": "task_30085", - "text": "累计强化装备成功5000次" - }, - "type_id": 4047012, - "active": 0, - "id_after": 4047013, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 120 - } - ] - }, - { - "key": 30086, - "id_list": 105, - "id_tag": 3, - "task_display": { - "key": "task_30086", - "text": "累计强化装备成功10000次" - }, - "type_id": 4047013, - "active": 0, - "id_after": 0, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 130 - } - ] - }, - { - "key": 30087, - "id_list": 106, - "id_tag": 3, - "task_display": { - "key": "task_30087", - "text": "在商店购买5份商品" - }, - "type_id": 4064001, - "active": 0, - "id_after": 4064002, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30088, - "id_list": 107, - "id_tag": 3, - "task_display": { - "key": "task_30088", - "text": "在商店购买10份商品" - }, - "type_id": 4064002, - "active": 0, - "id_after": 4064003, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30089, - "id_list": 108, - "id_tag": 3, - "task_display": { - "key": "task_30089", - "text": "在商店购买20份商品" - }, - "type_id": 4064003, - "active": 0, - "id_after": 4064004, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30090, - "id_list": 109, - "id_tag": 3, - "task_display": { - "key": "task_30090", - "text": "在商店购买50份商品" - }, - "type_id": 4064004, - "active": 0, - "id_after": 4064005, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30091, - "id_list": 110, - "id_tag": 3, - "task_display": { - "key": "task_30091", - "text": "在商店购买100份商品" - }, - "type_id": 4064005, - "active": 0, - "id_after": 4064006, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30092, - "id_list": 111, - "id_tag": 3, - "task_display": { - "key": "task_30092", - "text": "在商店购买200份商品" - }, - "type_id": 4064006, - "active": 0, - "id_after": 4064007, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30093, - "id_list": 112, - "id_tag": 3, - "task_display": { - "key": "task_30093", - "text": "在商店购买500份商品" - }, - "type_id": 4064007, - "active": 0, - "id_after": 0, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30094, - "id_list": 113, - "id_tag": 3, - "task_display": { - "key": "task_30094", - "text": "累计消费50000金币" - }, - "type_id": 4068001, - "active": 0, - "id_after": 4068002, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30095, - "id_list": 114, - "id_tag": 3, - "task_display": { - "key": "task_30095", - "text": "累计消费500000金币" - }, - "type_id": 4068002, - "active": 0, - "id_after": 4068003, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30096, - "id_list": 115, - "id_tag": 3, - "task_display": { - "key": "task_30096", - "text": "累计消费5000000金币" - }, - "type_id": 4068003, - "active": 0, - "id_after": 4068004, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30097, - "id_list": 116, - "id_tag": 3, - "task_display": { - "key": "task_30097", - "text": "累计消费50000000金币" - }, - "type_id": 4068004, - "active": 0, - "id_after": 0, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30098, - "id_list": 117, - "id_tag": 3, - "task_display": { - "key": "task_30098", - "text": "普通塔达到10层" - }, - "type_id": 4084001, - "active": 0, - "id_after": 4084002, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30099, - "id_list": 118, - "id_tag": 3, - "task_display": { - "key": "task_30099", - "text": "普通塔达到20层" - }, - "type_id": 4084002, - "active": 0, - "id_after": 4084003, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30100, - "id_list": 119, - "id_tag": 3, - "task_display": { - "key": "task_30100", - "text": "普通塔达到50层" - }, - "type_id": 4084003, - "active": 0, - "id_after": 4084004, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30101, - "id_list": 120, - "id_tag": 3, - "task_display": { - "key": "task_30101", - "text": "普通塔达到100层" - }, - "type_id": 4084004, - "active": 0, - "id_after": 0, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30102, - "id_list": 121, - "id_tag": 3, - "task_display": { - "key": "task_30102", - "text": "赛季塔达到5层" - }, - "type_id": 4085001, - "active": 0, - "id_after": 4085002, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30103, - "id_list": 122, - "id_tag": 3, - "task_display": { - "key": "task_30103", - "text": "赛季塔达到10层" - }, - "type_id": 4085002, - "active": 0, - "id_after": 4085003, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30104, - "id_list": 123, - "id_tag": 3, - "task_display": { - "key": "task_30104", - "text": "赛季塔达到20层" - }, - "type_id": 4085003, - "active": 0, - "id_after": 4085004, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30105, - "id_list": 124, - "id_tag": 3, - "task_display": { - "key": "task_30105", - "text": "赛季塔达到30层" - }, - "type_id": 4085004, - "active": 0, - "id_after": 4085005, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30106, - "id_list": 125, - "id_tag": 3, - "task_display": { - "key": "task_30106", - "text": "赛季塔达到50层" - }, - "type_id": 4085005, - "active": 0, - "id_after": 0, - "jump_interface": 120, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30107, - "id_list": 126, - "id_tag": 3, - "task_display": { - "key": "task_30107", - "text": "装备累计强化失败10次" - }, - "type_id": 4096001, - "active": 0, - "id_after": 4096002, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30108, - "id_list": 127, - "id_tag": 3, - "task_display": { - "key": "task_30108", - "text": "装备累计强化失败20次" - }, - "type_id": 4096002, - "active": 0, - "id_after": 4096003, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30109, - "id_list": 128, - "id_tag": 3, - "task_display": { - "key": "task_30109", - "text": "装备累计强化失败50次" - }, - "type_id": 4096003, - "active": 0, - "id_after": 4096004, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30110, - "id_list": 129, - "id_tag": 3, - "task_display": { - "key": "task_30110", - "text": "装备累计强化失败100次" - }, - "type_id": 4096004, - "active": 0, - "id_after": 4096005, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30111, - "id_list": 130, - "id_tag": 3, - "task_display": { - "key": "task_30111", - "text": "装备累计强化失败200次" - }, - "type_id": 4096005, - "active": 0, - "id_after": 4096006, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30112, - "id_list": 131, - "id_tag": 3, - "task_display": { - "key": "task_30112", - "text": "装备累计强化失败300次" - }, - "type_id": 4096006, - "active": 0, - "id_after": 4096007, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30113, - "id_list": 132, - "id_tag": 3, - "task_display": { - "key": "task_30113", - "text": "装备累计强化失败500次" - }, - "type_id": 4096007, - "active": 0, - "id_after": 4096008, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30114, - "id_list": 133, - "id_tag": 3, - "task_display": { - "key": "task_30114", - "text": "装备累计强化失败1000次" - }, - "type_id": 4096008, - "active": 0, - "id_after": 4096009, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30115, - "id_list": 134, - "id_tag": 3, - "task_display": { - "key": "task_30115", - "text": "装备累计强化失败2000次" - }, - "type_id": 4096009, - "active": 0, - "id_after": 4096010, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30116, - "id_list": 135, - "id_tag": 3, - "task_display": { - "key": "task_30116", - "text": "装备累计强化失败3000次" - }, - "type_id": 4096010, - "active": 0, - "id_after": 4096011, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30117, - "id_list": 136, - "id_tag": 3, - "task_display": { - "key": "task_30117", - "text": "装备累计强化失败5000次" - }, - "type_id": 4096011, - "active": 0, - "id_after": 4096012, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 110 - } - ] - }, - { - "key": 30118, - "id_list": 137, - "id_tag": 3, - "task_display": { - "key": "task_30118", - "text": "装备累计强化失败10000次" - }, - "type_id": 4096012, - "active": 0, - "id_after": 0, - "jump_interface": 102, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 120 - } - ] - }, - { - "key": 30119, - "id_list": 138, - "id_tag": 3, - "task_display": { - "key": "task_30119", - "text": "累计消费500钻石" - }, - "type_id": 4104001, - "active": 0, - "id_after": 4104002, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30120, - "id_list": 139, - "id_tag": 3, - "task_display": { - "key": "task_30120", - "text": "累计消费1000钻石" - }, - "type_id": 4104002, - "active": 0, - "id_after": 4104003, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30121, - "id_list": 140, - "id_tag": 3, - "task_display": { - "key": "task_30121", - "text": "累计消费3000钻石" - }, - "type_id": 4104003, - "active": 0, - "id_after": 4104004, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30122, - "id_list": 141, - "id_tag": 3, - "task_display": { - "key": "task_30122", - "text": "累计消费5000钻石" - }, - "type_id": 4104004, - "active": 0, - "id_after": 4104005, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30123, - "id_list": 142, - "id_tag": 3, - "task_display": { - "key": "task_30123", - "text": "累计消费10000钻石" - }, - "type_id": 4104005, - "active": 0, - "id_after": 4104006, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30124, - "id_list": 143, - "id_tag": 3, - "task_display": { - "key": "task_30124", - "text": "累计消费20000钻石" - }, - "type_id": 4104006, - "active": 0, - "id_after": 4104007, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30125, - "id_list": 144, - "id_tag": 3, - "task_display": { - "key": "task_30125", - "text": "累计消费30000钻石" - }, - "type_id": 4104007, - "active": 0, - "id_after": 4104008, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30126, - "id_list": 145, - "id_tag": 3, - "task_display": { - "key": "task_30126", - "text": "累计消费50000钻石" - }, - "type_id": 4104008, - "active": 0, - "id_after": 4104009, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30127, - "id_list": 146, - "id_tag": 3, - "task_display": { - "key": "task_30127", - "text": "累计消费100000钻石" - }, - "type_id": 4104009, - "active": 0, - "id_after": 4104010, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30128, - "id_list": 147, - "id_tag": 3, - "task_display": { - "key": "task_30128", - "text": "累计消费200000钻石" - }, - "type_id": 4104010, - "active": 0, - "id_after": 4104011, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30129, - "id_list": 148, - "id_tag": 3, - "task_display": { - "key": "task_30129", - "text": "累计消费500000钻石" - }, - "type_id": 4104011, - "active": 0, - "id_after": 0, - "jump_interface": 122, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 110 - } - ] - }, - { - "key": 30130, - "id_list": 149, - "id_tag": 3, - "task_display": { - "key": "task_30130", - "text": "竞技场积分达到1100分" - }, - "type_id": 4128001, - "active": 0, - "id_after": 4128002, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30131, - "id_list": 150, - "id_tag": 3, - "task_display": { - "key": "task_30131", - "text": "竞技场积分达到1200分" - }, - "type_id": 4128002, - "active": 0, - "id_after": 4128003, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30132, - "id_list": 151, - "id_tag": 3, - "task_display": { - "key": "task_30132", - "text": "竞技场积分达到1300分" - }, - "type_id": 4128003, - "active": 0, - "id_after": 4128004, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30133, - "id_list": 152, - "id_tag": 3, - "task_display": { - "key": "task_30133", - "text": "竞技场积分达到1400分" - }, - "type_id": 4128004, - "active": 0, - "id_after": 4128005, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30134, - "id_list": 153, - "id_tag": 3, - "task_display": { - "key": "task_30134", - "text": "竞技场积分达到1500分" - }, - "type_id": 4128005, - "active": 0, - "id_after": 4128006, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30135, - "id_list": 154, - "id_tag": 3, - "task_display": { - "key": "task_30135", - "text": "竞技场积分达到1600分" - }, - "type_id": 4128006, - "active": 0, - "id_after": 4128007, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30136, - "id_list": 155, - "id_tag": 3, - "task_display": { - "key": "task_30136", - "text": "竞技场积分达到1700分" - }, - "type_id": 4128007, - "active": 0, - "id_after": 4128008, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30137, - "id_list": 156, - "id_tag": 3, - "task_display": { - "key": "task_30137", - "text": "竞技场积分达到1800分" - }, - "type_id": 4128008, - "active": 0, - "id_after": 4128009, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30138, - "id_list": 157, - "id_tag": 3, - "task_display": { - "key": "task_30138", - "text": "竞技场积分达到1900分" - }, - "type_id": 4128009, - "active": 0, - "id_after": 4128010, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30139, - "id_list": 158, - "id_tag": 3, - "task_display": { - "key": "task_30139", - "text": "竞技场积分达到2000分" - }, - "type_id": 4128010, - "active": 0, - "id_after": 0, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 30140, - "id_list": 159, - "id_tag": 3, - "task_display": { - "key": "task_30140", - "text": "竞技场累计获胜5场" - }, - "type_id": 4131001, - "active": 0, - "id_after": 4131002, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "key": 30141, - "id_list": 160, - "id_tag": 3, - "task_display": { - "key": "task_30141", - "text": "竞技场累计获胜10场" - }, - "type_id": 4131002, - "active": 0, - "id_after": 4131003, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ] - }, - { - "key": 30142, - "id_list": 161, - "id_tag": 3, - "task_display": { - "key": "task_30142", - "text": "竞技场累计获胜20场" - }, - "type_id": 4131003, - "active": 0, - "id_after": 4131004, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 30 - } - ] - }, - { - "key": 30143, - "id_list": 162, - "id_tag": 3, - "task_display": { - "key": "task_30143", - "text": "竞技场累计获胜30场" - }, - "type_id": 4131004, - "active": 0, - "id_after": 4131005, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 40 - } - ] - }, - { - "key": 30144, - "id_list": 163, - "id_tag": 3, - "task_display": { - "key": "task_30144", - "text": "竞技场累计获胜50场" - }, - "type_id": 4131005, - "active": 0, - "id_after": 4131006, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 50 - } - ] - }, - { - "key": 30145, - "id_list": 164, - "id_tag": 3, - "task_display": { - "key": "task_30145", - "text": "竞技场累计获胜100场" - }, - "type_id": 4131006, - "active": 0, - "id_after": 4131007, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 60 - } - ] - }, - { - "key": 30146, - "id_list": 165, - "id_tag": 3, - "task_display": { - "key": "task_30146", - "text": "竞技场累计获胜200场" - }, - "type_id": 4131007, - "active": 0, - "id_after": 4131008, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 70 - } - ] - }, - { - "key": 30147, - "id_list": 166, - "id_tag": 3, - "task_display": { - "key": "task_30147", - "text": "竞技场累计获胜300场" - }, - "type_id": 4131008, - "active": 0, - "id_after": 4131009, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 80 - } - ] - }, - { - "key": 30148, - "id_list": 167, - "id_tag": 3, - "task_display": { - "key": "task_30148", - "text": "竞技场累计获胜500场" - }, - "type_id": 4131009, - "active": 0, - "id_after": 4131010, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 90 - } - ] - }, - { - "key": 30149, - "id_list": 168, - "id_tag": 3, - "task_display": { - "key": "task_30149", - "text": "竞技场累计获胜1000场" - }, - "type_id": 4131010, - "active": 0, - "id_after": 0, - "jump_interface": 156, - "icon": "rw_cj_icon10", - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] } ] \ No newline at end of file diff --git a/bin/json/game_vikingboss.json b/bin/json/game_vikingboss.json index 091aa4b21..231ed9d81 100644 --- a/bin/json/game_vikingboss.json +++ b/bin/json/game_vikingboss.json @@ -8,7 +8,7 @@ "text": "火焰泰坦" }, "difficulty": 1, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -45,8 +45,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301011, - 301012, 301013 ], "ps_consume": [ @@ -73,7 +71,7 @@ "text": "火焰泰坦" }, "difficulty": 2, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -110,8 +108,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301014, - 301015, 301016 ], "ps_consume": [ @@ -138,7 +134,7 @@ "text": "火焰泰坦" }, "difficulty": 3, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -175,8 +171,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301017, - 301018, 301019 ], "ps_consume": [ @@ -203,7 +197,7 @@ "text": "火焰泰坦" }, "difficulty": 4, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -240,8 +234,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301020, - 301021, 301022 ], "ps_consume": [ @@ -268,7 +260,7 @@ "text": "火焰泰坦" }, "difficulty": 5, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -305,8 +297,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301023, - 301024, 301025 ], "ps_consume": [ @@ -333,7 +323,7 @@ "text": "火焰泰坦" }, "difficulty": 6, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -370,8 +360,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301026, - 301027, 301028 ], "ps_consume": [ @@ -398,7 +386,7 @@ "text": "火焰泰坦" }, "difficulty": 7, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -435,8 +423,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301029, - 301030, 301031 ], "ps_consume": [ @@ -463,7 +449,7 @@ "text": "火焰泰坦" }, "difficulty": 8, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -500,8 +486,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301032, - 301033, 301034 ], "ps_consume": [ @@ -528,7 +512,7 @@ "text": "火焰泰坦" }, "difficulty": 9, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -565,8 +549,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301035, - 301036, 301037 ], "ps_consume": [ @@ -593,7 +575,7 @@ "text": "火焰泰坦" }, "difficulty": 10, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -630,8 +612,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301038, - 301039, 301040 ], "ps_consume": [ @@ -658,7 +638,7 @@ "text": "冰之泰坦" }, "difficulty": 1, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -695,8 +675,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302011, - 302012, 302013 ], "ps_consume": [ @@ -723,7 +701,7 @@ "text": "冰之泰坦" }, "difficulty": 2, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -760,8 +738,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302014, - 302015, 302016 ], "ps_consume": [ @@ -788,7 +764,7 @@ "text": "冰之泰坦" }, "difficulty": 3, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -825,8 +801,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302017, - 302018, 302019 ], "ps_consume": [ @@ -853,7 +827,7 @@ "text": "冰之泰坦" }, "difficulty": 4, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -890,8 +864,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302020, - 302021, 302022 ], "ps_consume": [ @@ -918,7 +890,7 @@ "text": "冰之泰坦" }, "difficulty": 5, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -955,8 +927,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302023, - 302024, 302025 ], "ps_consume": [ @@ -983,7 +953,7 @@ "text": "冰之泰坦" }, "difficulty": 6, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1020,8 +990,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302026, - 302027, 302028 ], "ps_consume": [ @@ -1048,7 +1016,7 @@ "text": "冰之泰坦" }, "difficulty": 7, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1085,8 +1053,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302029, - 302030, 302031 ], "ps_consume": [ @@ -1113,7 +1079,7 @@ "text": "冰之泰坦" }, "difficulty": 8, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1150,8 +1116,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302032, - 302033, 302034 ], "ps_consume": [ @@ -1178,7 +1142,7 @@ "text": "冰之泰坦" }, "difficulty": 9, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1215,8 +1179,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302035, - 302036, 302037 ], "ps_consume": [ @@ -1243,7 +1205,7 @@ "text": "冰之泰坦" }, "difficulty": 10, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1280,8 +1242,6 @@ "bossmodel": 11003, "boss_skill": 51004, "boss": [ - 302038, - 302039, 302040 ], "ps_consume": [ @@ -1308,7 +1268,7 @@ "text": "森林泰坦" }, "difficulty": 1, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1345,8 +1305,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303011, - 303012, 303013 ], "ps_consume": [ @@ -1373,7 +1331,7 @@ "text": "森林泰坦" }, "difficulty": 2, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1410,8 +1368,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303014, - 303015, 303016 ], "ps_consume": [ @@ -1438,7 +1394,7 @@ "text": "森林泰坦" }, "difficulty": 3, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1475,8 +1431,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303017, - 303018, 303019 ], "ps_consume": [ @@ -1503,7 +1457,7 @@ "text": "森林泰坦" }, "difficulty": 4, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1540,8 +1494,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303020, - 303021, 303022 ], "ps_consume": [ @@ -1568,7 +1520,7 @@ "text": "森林泰坦" }, "difficulty": 5, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1605,8 +1557,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303023, - 303024, 303025 ], "ps_consume": [ @@ -1633,7 +1583,7 @@ "text": "森林泰坦" }, "difficulty": 6, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1670,8 +1620,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303026, - 303027, 303028 ], "ps_consume": [ @@ -1698,7 +1646,7 @@ "text": "森林泰坦" }, "difficulty": 7, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1735,8 +1683,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303029, - 303030, 303031 ], "ps_consume": [ @@ -1763,7 +1709,7 @@ "text": "森林泰坦" }, "difficulty": 8, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1800,8 +1746,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303032, - 303033, 303034 ], "ps_consume": [ @@ -1828,7 +1772,7 @@ "text": "森林泰坦" }, "difficulty": 9, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1865,8 +1809,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303035, - 303036, 303037 ], "ps_consume": [ @@ -1893,7 +1835,7 @@ "text": "森林泰坦" }, "difficulty": 10, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -1930,8 +1872,6 @@ "bossmodel": 11018, "boss_skill": 51004, "boss": [ - 303038, - 303039, 303040 ], "ps_consume": [ @@ -1958,7 +1898,7 @@ "text": "武器BOSS" }, "difficulty": 1, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2000,8 +1940,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301011, - 301012, 301013 ], "ps_consume": [ @@ -2028,7 +1966,7 @@ "text": "武器BOSS" }, "difficulty": 2, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2070,8 +2008,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301014, - 301015, 301016 ], "ps_consume": [ @@ -2098,7 +2034,7 @@ "text": "武器BOSS" }, "difficulty": 3, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2140,8 +2076,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301017, - 301018, 301019 ], "ps_consume": [ @@ -2168,7 +2102,7 @@ "text": "武器BOSS" }, "difficulty": 4, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2210,8 +2144,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301020, - 301021, 301022 ], "ps_consume": [ @@ -2238,7 +2170,7 @@ "text": "武器BOSS" }, "difficulty": 5, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2280,8 +2212,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301023, - 301024, 301025 ], "ps_consume": [ @@ -2308,7 +2238,7 @@ "text": "武器BOSS" }, "difficulty": 6, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2350,8 +2280,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301026, - 301027, 301028 ], "ps_consume": [ @@ -2378,7 +2306,7 @@ "text": "武器BOSS" }, "difficulty": 7, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2420,8 +2348,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301029, - 301030, 301031 ], "ps_consume": [ @@ -2448,7 +2374,7 @@ "text": "武器BOSS" }, "difficulty": 8, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2490,8 +2416,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301032, - 301033, 301034 ], "ps_consume": [ @@ -2518,7 +2442,7 @@ "text": "武器BOSS" }, "difficulty": 9, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2560,8 +2484,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301035, - 301036, 301037 ], "ps_consume": [ @@ -2588,7 +2510,7 @@ "text": "武器BOSS" }, "difficulty": 10, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2630,8 +2552,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301038, - 301039, 301040 ], "ps_consume": [ @@ -2658,7 +2578,7 @@ "text": "饰品BOSS" }, "difficulty": 1, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2700,8 +2620,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301011, - 301012, 301013 ], "ps_consume": [ @@ -2728,7 +2646,7 @@ "text": "饰品BOSS" }, "difficulty": 2, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2770,8 +2688,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301014, - 301015, 301016 ], "ps_consume": [ @@ -2798,7 +2714,7 @@ "text": "饰品BOSS" }, "difficulty": 3, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2840,8 +2756,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301017, - 301018, 301019 ], "ps_consume": [ @@ -2868,7 +2782,7 @@ "text": "饰品BOSS" }, "difficulty": 4, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2910,8 +2824,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301020, - 301021, 301022 ], "ps_consume": [ @@ -2938,7 +2850,7 @@ "text": "饰品BOSS" }, "difficulty": 5, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -2980,8 +2892,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301023, - 301024, 301025 ], "ps_consume": [ @@ -3008,7 +2918,7 @@ "text": "饰品BOSS" }, "difficulty": 6, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3050,8 +2960,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301026, - 301027, 301028 ], "ps_consume": [ @@ -3078,7 +2986,7 @@ "text": "饰品BOSS" }, "difficulty": 7, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3120,8 +3028,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301029, - 301030, 301031 ], "ps_consume": [ @@ -3148,7 +3054,7 @@ "text": "饰品BOSS" }, "difficulty": 8, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3190,8 +3096,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301032, - 301033, 301034 ], "ps_consume": [ @@ -3218,7 +3122,7 @@ "text": "饰品BOSS" }, "difficulty": 9, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3260,8 +3164,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301035, - 301036, 301037 ], "ps_consume": [ @@ -3288,7 +3190,7 @@ "text": "饰品BOSS" }, "difficulty": 10, - "BattleReadyID": 104, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3330,8 +3232,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 301038, - 301039, 301040 ], "ps_consume": [ @@ -3358,7 +3258,7 @@ "text": "火焰泰坦" }, "difficulty": 1, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3405,8 +3305,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3433,7 +3331,7 @@ "text": "火焰泰坦" }, "difficulty": 2, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3480,8 +3378,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3508,7 +3404,7 @@ "text": "火焰泰坦" }, "difficulty": 3, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3555,8 +3451,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3583,7 +3477,7 @@ "text": "火焰泰坦" }, "difficulty": 4, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3630,8 +3524,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3658,7 +3550,7 @@ "text": "火焰泰坦" }, "difficulty": 5, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3705,8 +3597,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3733,7 +3623,7 @@ "text": "火焰泰坦" }, "difficulty": 6, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3780,8 +3670,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3808,7 +3696,7 @@ "text": "火焰泰坦" }, "difficulty": 7, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3855,8 +3743,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3883,7 +3769,7 @@ "text": "火焰泰坦" }, "difficulty": 8, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -3930,8 +3816,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -3958,7 +3842,7 @@ "text": "火焰泰坦" }, "difficulty": 9, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -4005,8 +3889,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -4033,7 +3915,7 @@ "text": "火焰泰坦" }, "difficulty": 10, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -4080,8 +3962,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -4108,7 +3988,7 @@ "text": "火焰泰坦" }, "difficulty": 11, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -4155,8 +4035,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ @@ -4183,7 +4061,7 @@ "text": "火焰泰坦" }, "difficulty": 12, - "BattleReadyID": 112, + "BattleReadyID": 121, "captionrecommend": [ 25001, 25004, @@ -4230,8 +4108,6 @@ "bossmodel": 11009, "boss_skill": 51004, "boss": [ - 710001, - 710001, 710001 ], "ps_consume": [ diff --git a/bin/json/game_worldall.json b/bin/json/game_worldall.json index 297268950..f2ff54061 100644 --- a/bin/json/game_worldall.json +++ b/bin/json/game_worldall.json @@ -2,7 +2,7 @@ { "id": 210, "name": { - "key": "mainline_name_10001", + "key": "Mainline_Tasks1", "text": "章节1全部任务" }, "task_icon": "", @@ -21,8 +21,8 @@ { "id": 310, "name": { - "key": "Side_Quest", - "text": "武馆支线1" + "key": "Side_Quest1", + "text": "武馆内勤奋的身影是?" }, "task_icon": "", "task_txt": { @@ -45,8 +45,8 @@ { "id": 320, "name": { - "key": "Side_Quest", - "text": "铁匠铺支线1" + "key": "Side_Quest2", + "text": "铁匠铺门口身影是?" }, "task_icon": "", "task_txt": { @@ -69,8 +69,8 @@ { "id": 330, "name": { - "key": "Side_Quest", - "text": "铁匠铺支线2" + "key": "Side_Quest3", + "text": "戈伯的嘱托" }, "task_icon": "", "task_txt": { @@ -93,8 +93,8 @@ { "id": 340, "name": { - "key": "Side_Quest", - "text": "武馆支线2" + "key": "Side_Quest4", + "text": "武馆秘闻" }, "task_icon": "", "task_txt": { @@ -117,8 +117,8 @@ { "id": 350, "name": { - "key": "Side_Quest", - "text": "武馆支线3" + "key": "Side_Quest5", + "text": "好像有人再看我?" }, "task_icon": "", "task_txt": { @@ -141,8 +141,8 @@ { "id": 360, "name": { - "key": "Side_Quest", - "text": "铁匠铺支线3" + "key": "Side_Quest6", + "text": "戈伯的委托" }, "task_icon": "", "task_txt": { diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 6bd829600..6472d86c1 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -350,7 +350,7 @@ "key": "Mainline_Tasks1_8_Receiving", "text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……" }, - "deliver_npc": 10082, + "deliver_npc": 10081, "auto_accept": 0, "reword": [ { @@ -552,11 +552,11 @@ }, "task_name": { "key": "Mainline_Tasks1_13", - "text": "" + "text": "消失的阴影" }, "npctxt": { "key": "Mainline_Tasks1_13_Receiving", - "text": "消失的阴影" + "text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。" }, "npc": 10130, "completetasktxt": { @@ -585,7 +585,7 @@ "key": 20140, "lock": 1, "lockend": 0, - "ontxe": 20120, + "ontxe": 20130, "id_after": 0, "group": 210, "des": 2, @@ -595,23 +595,23 @@ "text": "第一章:预言之声" }, "task_name": { - "key": "Mainline_Tasks1_11", + "key": "Mainline_Tasks1_999", "text": "敬请期待" }, "npctxt": { - "key": "Mainline_Tasks1_11", + "key": "Mainline_Tasks1_999", "text": "敬请期待" }, "npc": 10110, "completetasktxt": { - "key": "Mainline_Tasks1_11", + "key": "Mainline_Tasks1_999", "text": "敬请期待!" }, "completetask": [ 193 ], "deliver_npctxt": { - "key": "Mainline_Tasks1_11", + "key": "Mainline_Tasks1_999", "text": "敬请期待!" }, "deliver_npc": 0, diff --git a/modules/parkour/api_Info.go b/modules/parkour/api_Info.go index 1e9b0aa7c..830853973 100644 --- a/modules/parkour/api_Info.go +++ b/modules/parkour/api_Info.go @@ -13,21 +13,25 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ParkourInfoReq ///匹配请求 func (this *apiComp) Info(session comm.IUserSession, req *pb.ParkourInfoReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( + isopen bool info *pb.DBParkour - recommend []*pb.DBParkour + recommend []*pb.DBRaceMember err error ) if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success { return } - if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { - code = pb.ErrorCode_DBError - return + isopen = this.module.configure.isopen() + if isopen { + if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + if recommend, err = this.module.parkourComp.getrusers(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } } - if recommend, err = this.module.parkourComp.getrusers(session.GetUserId()); err != nil { - code = pb.ErrorCode_DBError - return - } - session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Info: info, Recommend: recommend}) + session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Isopen: isopen, Info: info, Recommend: recommend}) return } diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index b632ba9a8..a10ab4340 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -19,12 +19,14 @@ func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInvit ///邀请组队 func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( - info *pb.DBParkour - tinfo *pb.DBParkour - tuser *pb.DBUser - mount *cfg.GameBuzkashiMountData - ok bool - err error + info *pb.DBParkour + tinfo *pb.DBParkour + tuser *pb.DBUser + mount *cfg.GameBuzkashiMountData + member *pb.DBRaceMember + users []string + ok bool + err error ) if code = this.InviteCheck(session, req); code != pb.ErrorCode_Success { return @@ -75,7 +77,16 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Uid) { - info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true}) + member = &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true} + info.Member = append(info.Member, member) + users = make([]string, len(info.Member)) + for i, v := range info.Member { + users[i] = v.Uid + } + this.module.SendMsgToUsers(string(this.module.GetType()), "teamjoinnotice", + &pb.ParkourTeamJoinNoticePush{Member: member}, users...) + this.module.SendMsgToUsers(string(this.module.GetType()), "teamchanage", + &pb.ParkourTeamChanagePush{Team: info}, users...) } else { if tinfo.Captainid != "" { code = pb.ErrorCode_ParkourTargetTeamed diff --git a/modules/parkour/api_racematch.go b/modules/parkour/api_racematch.go index 9c2710c20..18400c836 100644 --- a/modules/parkour/api_racematch.go +++ b/modules/parkour/api_racematch.go @@ -7,14 +7,18 @@ import ( //参数校验 func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode) { + if session.GetUserId() != req.Captainid { + code = pb.ErrorCode_ReqParameterError + } return } ///匹配请求 func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( - team *pb.DBParkour - err error + team *pb.DBParkour + users []string + err error ) if code = this.RaceMatchCheck(session, req); code != pb.ErrorCode_Success { return @@ -23,10 +27,32 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat code = pb.ErrorCode_DBError return } + if team.Captainid != session.GetUserId() { + code = pb.ErrorCode_ReqParameterError + return + } + if err = this.module.match(team); err != nil { code = pb.ErrorCode_DBError return } + + users = make([]string, len(team.Member)) + for i, v := range team.Member { + if !v.Isai { + users[i] = v.Uid + if err = this.module.parkourComp.Change(v.Uid, map[string]interface{}{ + "state": pb.RaceTeamState_matching, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + } + + } + this.module.SendMsgToUsers(string(this.module.GetType()), "racematchstart", + &pb.ParkourRaceMatchStartPush{Team: team}, users...) + session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{}) return } diff --git a/modules/parkour/api_racematchcancel.go b/modules/parkour/api_racematchcancel.go new file mode 100644 index 000000000..cf0110ca0 --- /dev/null +++ b/modules/parkour/api_racematchcancel.go @@ -0,0 +1,56 @@ +package parkour + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) RaceMatchCancelCheck(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (code pb.ErrorCode) { + if session.GetUserId() != req.Captainid { + code = pb.ErrorCode_ReqParameterError + } + return +} + +///匹配请求 +func (this *apiComp) RaceMatchCancel(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (code pb.ErrorCode, data *pb.ErrorData) { + var ( + team *pb.DBParkour + users []string + err error + ) + if code = this.RaceMatchCancelCheck(session, req); code != pb.ErrorCode_Success { + return + } + if team, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + if team.Captainid != session.GetUserId() { + code = pb.ErrorCode_ReqParameterError + return + } + + if err = this.module.match(team); err != nil { + code = pb.ErrorCode_DBError + return + } + users = make([]string, len(team.Member)) + for i, v := range team.Member { + if !v.Isai { + users[i] = v.Uid + if err = this.module.parkourComp.Change(v.Uid, map[string]interface{}{ + "state": pb.RaceTeamState_matching, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + } + } + this.module.SendMsgToUsers(string(this.module.GetType()), "racematchstart", + &pb.ParkourRaceMatchCancelPush{Team: team}, users...) + + session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{}) + return +} diff --git a/modules/parkour/configure.go b/modules/parkour/configure.go index 179827bf1..c2b72fe44 100644 --- a/modules/parkour/configure.go +++ b/modules/parkour/configure.go @@ -4,10 +4,12 @@ import ( "fmt" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" ) const ( + game_buzkashiopen = "game_buzkashiopen.json" game_buzkashigrade = "game_buzkashigrade.json" game_buzkashilv = "game_buzkashilv.json" game_buzkashimount = "game_buzkashimount.json" @@ -24,6 +26,7 @@ type configureComp struct { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Parkour) + this.LoadConfigure(game_buzkashiopen, cfg.NewGamebuzkashiOpen) this.LoadConfigure(game_buzkashigrade, cfg.NewGameBuzkashiGrade) this.LoadConfigure(game_buzkashilv, cfg.NewGameBuzkashiLv) this.LoadConfigure(game_buzkashimount, cfg.NewGameBuzkashiMount) @@ -31,6 +34,34 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp return } +//查询开启表 +func (this *configureComp) isopen() (open bool) { + var ( + v interface{} + config *cfg.GamebuzkashiOpen + currtime string = configure.Now().Format("15:04") + err error + ok bool + ) + if v, err = this.GetConfigure(game_buzkashiopen); err != nil { + this.module.Errorln(err) + return + } else { + if config, ok = v.(*cfg.GamebuzkashiOpen); !ok { + err = fmt.Errorf("config type err:%T", v) + return + } else { + for _, v := range config.GetDataList() { + if currtime >= v.Stime && currtime < v.Etime { + open = true + return + } + } + } + } + return +} + //查询坐骑表 func (this *configureComp) getGameBuzkashiMount(id string) (configure *cfg.GameBuzkashiMountData, err error) { var ( diff --git a/modules/parkour/core.go b/modules/parkour/core.go index 3d4dae539..14bd1f929 100644 --- a/modules/parkour/core.go +++ b/modules/parkour/core.go @@ -8,6 +8,12 @@ import ( "time" ) +type Recommend struct { + parkour *pb.DBParkour + user *pb.DBUser + member *pb.DBRaceMember +} + ///捕羊大赛对象 type RaceItem struct { Id string //战斗id diff --git a/modules/parkour/model_parkour.go b/modules/parkour/model_parkour.go index ef03444d3..2b89fca98 100644 --- a/modules/parkour/model_parkour.go +++ b/modules/parkour/model_parkour.go @@ -10,6 +10,7 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/db" "math/rand" "sync" @@ -28,7 +29,7 @@ type ModelParkourComp struct { module *Parkour refresh time.Time //上一次刷新时间 lock sync.RWMutex - users []*pb.DBParkour //推荐用户信息 + users []*Recommend //推荐用户信息 } //组件初始化接口 @@ -50,9 +51,10 @@ func (this *ModelParkourComp) Start() (err error) { } //获取推荐用户 -func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBParkour, err error) { +func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBRaceMember, err error) { var ( - users []*pb.DBParkour + users []*Recommend + mount *cfg.GameBuzkashiMountData ondata bool ) this.lock.RLock() @@ -64,9 +66,9 @@ func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBParkour, this.refreshlist() } this.lock.RLock() - users = make([]*pb.DBParkour, 0, len(this.users)) + users = make([]*Recommend, 0, len(this.users)) for _, v := range this.users { - if v.Uid != uid { + if v.parkour.Uid != uid { users = append(users, v) } } @@ -75,10 +77,26 @@ func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBParkour, if len(users) < 6 { num = len(users) } - recommend = make([]*pb.DBParkour, num) + recommend = make([]*pb.DBRaceMember, num) r := rand.New(rand.NewSource(configure.Now().Unix())) for i, v := range r.Perm(num) { - recommend[i] = users[v] + if users[v].member == nil { + if users[v].user = this.module.ModuleUser.GetUser(users[v].parkour.Uid); users[v].user == nil { + continue + } + if mount, err = this.module.configure.getGameBuzkashiMount(users[v].parkour.Dfmount); err != nil { + continue + } + users[v].member = &pb.DBRaceMember{ + Uid: users[v].user.Uid, + Name: users[v].user.Name, + Avatar: users[v].user.Avatar, + Lv: users[v].user.Lv, + Mount: users[v].parkour.Dfmount, + Hp: mount.Hp, + } + } + recommend[i] = users[v].member } return } @@ -86,8 +104,9 @@ func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBParkour, //刷新推荐列表 func (this *ModelParkourComp) refreshlist() { var ( - c *mongo.Cursor - err error + users []*Recommend + c *mongo.Cursor + err error ) if c, err = this.DB.Find(core.SqlTable(this.TableName), bson.M{"captainid": ""}, options.Find().SetSort(bson.D{{"integral", -1}}).SetSkip(0).SetLimit(100)); err != nil { @@ -103,8 +122,16 @@ func (this *ModelParkourComp) refreshlist() { result = append(result, tmp) } } + users = make([]*Recommend, len(result)) + for i, v := range result { + users[i] = &Recommend{ + parkour: v, + user: nil, + } + } + this.lock.Lock() - this.users = result + this.users = users this.lock.Unlock() } } diff --git a/modules/parkour/module.go b/modules/parkour/module.go index 424b337a2..e1d754d5f 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -198,7 +198,7 @@ func (this *Parkour) startbattle(id string) { sessions = append(sessions, v) } - if err = this.SendMsgToSession(string(comm.ModulePvp), "racestart", &pb.ParkourRaceStartPush{ + if err = this.SendMsgToSession(string(this.GetType()), "racestart", &pb.ParkourRaceStartPush{ Countdown: 3, }, sessions...); err != nil { this.Errorln(err) @@ -263,6 +263,12 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid}) return } + if dis < 0 { + member.Hp-- + } else { + + } + for _, v := range battle.Session { sessions = append(sessions, v) } @@ -463,8 +469,7 @@ func (this *Parkour) useroffline(uid, sessionid string) { } else if info.State == pb.RaceTeamState_raceing { var ( lockpath string = fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()) - - result []*pb.DBRace + result []*pb.DBRace ) if result, err = this.raceComp.queryraces(); err != nil { this.Errorln(err) diff --git a/modules/parkour/parkour_test.go b/modules/parkour/parkour_test.go new file mode 100644 index 000000000..4deda17f3 --- /dev/null +++ b/modules/parkour/parkour_test.go @@ -0,0 +1,18 @@ +package parkour_test + +import ( + "fmt" + "testing" + "time" +) + +func Test_Time(t *testing.T) { + currt := time.Now().Format("15:04") + fmt.Printf(currt) + if currt > "13:10" && currt < "16:30" { + fmt.Printf("true") + } else { + fmt.Printf("false") + } + +} diff --git a/pb/parkour_db.pb.go b/pb/parkour_db.pb.go index e38660c12..ba17532d7 100644 --- a/pb/parkour_db.pb.go +++ b/pb/parkour_db.pb.go @@ -128,12 +128,13 @@ type DBRaceMember struct { Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称 Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像 - Mount string `protobuf:"bytes,4,opt,name=mount,proto3" json:"mount"` //上阵坐骑 - Hp int32 `protobuf:"varint,5,opt,name=hp,proto3" json:"hp"` //初始血量 - Innermost int32 `protobuf:"varint,6,opt,name=innermost,proto3" json:"innermost"` //里程数 - Ready bool `protobuf:"varint,7,opt,name=ready,proto3" json:"ready"` //是否准备 - Isai bool `protobuf:"varint,8,opt,name=isai,proto3" json:"isai"` //是否是ai - Isoff bool `protobuf:"varint,9,opt,name=isoff,proto3" json:"isoff"` //是否离线 + Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv"` //等级 + Mount string `protobuf:"bytes,5,opt,name=mount,proto3" json:"mount"` //上阵坐骑 + Hp int32 `protobuf:"varint,6,opt,name=hp,proto3" json:"hp"` //初始血量 + Innermost int32 `protobuf:"varint,7,opt,name=innermost,proto3" json:"innermost"` //里程数 + Ready bool `protobuf:"varint,8,opt,name=ready,proto3" json:"ready"` //是否准备 + Isai bool `protobuf:"varint,9,opt,name=isai,proto3" json:"isai"` //是否是ai + Isoff bool `protobuf:"varint,10,opt,name=isoff,proto3" json:"isoff"` //是否离线 } func (x *DBRaceMember) Reset() { @@ -189,6 +190,13 @@ func (x *DBRaceMember) GetAvatar() string { return "" } +func (x *DBRaceMember) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + func (x *DBRaceMember) GetMount() string { if x != nil { return x.Mount @@ -239,7 +247,8 @@ type DBRaceInvite struct { Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称 Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像 - Expired int64 `protobuf:"varint,4,opt,name=expired,proto3" json:"expired"` //过期时间 + Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv"` //等级 + Expired int64 `protobuf:"varint,5,opt,name=expired,proto3" json:"expired"` //过期时间 } func (x *DBRaceInvite) Reset() { @@ -295,6 +304,13 @@ func (x *DBRaceInvite) GetAvatar() string { return "" } +func (x *DBRaceInvite) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + func (x *DBRaceInvite) GetExpired() int64 { if x != nil { return x.Expired @@ -522,26 +538,28 @@ var File_parkour_parkour_db_proto protoreflect.FileDescriptor var file_parkour_parkour_db_proto_rawDesc = []byte{ 0x0a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, - 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x0c, 0x44, + 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x66, 0x0a, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x76, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 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, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, + 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0x80, 0x03, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 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, diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go index 023d6fc85..caed7dcff 100644 --- a/pb/parkour_msg.pb.go +++ b/pb/parkour_msg.pb.go @@ -65,8 +65,9 @@ type ParkourInfoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Info *DBParkour `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` - Recommend []*DBParkour `protobuf:"bytes,2,rep,name=recommend,proto3" json:"recommend"` + Isopen bool `protobuf:"varint,1,opt,name=isopen,proto3" json:"isopen"` //当前赛事是否开启 + Info *DBParkour `protobuf:"bytes,2,opt,name=info,proto3" json:"info"` + Recommend []*DBRaceMember `protobuf:"bytes,3,rep,name=recommend,proto3" json:"recommend"` } func (x *ParkourInfoResp) Reset() { @@ -101,6 +102,13 @@ func (*ParkourInfoResp) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{1} } +func (x *ParkourInfoResp) GetIsopen() bool { + if x != nil { + return x.Isopen + } + return false +} + func (x *ParkourInfoResp) GetInfo() *DBParkour { if x != nil { return x.Info @@ -108,7 +116,7 @@ func (x *ParkourInfoResp) GetInfo() *DBParkour { return nil } -func (x *ParkourInfoResp) GetRecommend() []*DBParkour { +func (x *ParkourInfoResp) GetRecommend() []*DBRaceMember { if x != nil { return x.Recommend } @@ -800,11 +808,13 @@ func (*ParkourTeamDisbandNoticePush) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{15} } -//匹配请求 +//匹配请求 只有队长有权限 type ParkourRaceMatchReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id } func (x *ParkourRaceMatchReq) Reset() { @@ -839,6 +849,13 @@ func (*ParkourRaceMatchReq) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{16} } +func (x *ParkourRaceMatchReq) GetCaptainid() string { + if x != nil { + return x.Captainid + } + return "" +} + //匹配请求 type ParkourRaceMatchResp struct { state protoimpl.MessageState @@ -878,6 +895,189 @@ func (*ParkourRaceMatchResp) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{17} } +//匹配取消请求 只有队长有权限 +type ParkourRaceMatchCancelReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id +} + +func (x *ParkourRaceMatchCancelReq) Reset() { + *x = ParkourRaceMatchCancelReq{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourRaceMatchCancelReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourRaceMatchCancelReq) ProtoMessage() {} + +func (x *ParkourRaceMatchCancelReq) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[18] + 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 ParkourRaceMatchCancelReq.ProtoReflect.Descriptor instead. +func (*ParkourRaceMatchCancelReq) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18} +} + +func (x *ParkourRaceMatchCancelReq) GetCaptainid() string { + if x != nil { + return x.Captainid + } + return "" +} + +//匹配取消请求 +type ParkourRaceMatchCancelResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ParkourRaceMatchCancelResp) Reset() { + *x = ParkourRaceMatchCancelResp{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourRaceMatchCancelResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourRaceMatchCancelResp) ProtoMessage() {} + +func (x *ParkourRaceMatchCancelResp) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[19] + 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 ParkourRaceMatchCancelResp.ProtoReflect.Descriptor instead. +func (*ParkourRaceMatchCancelResp) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19} +} + +//匹配成功 +type ParkourRaceMatchStartPush struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *DBParkour `protobuf:"bytes,1,opt,name=team,proto3" json:"team"` +} + +func (x *ParkourRaceMatchStartPush) Reset() { + *x = ParkourRaceMatchStartPush{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourRaceMatchStartPush) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourRaceMatchStartPush) ProtoMessage() {} + +func (x *ParkourRaceMatchStartPush) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[20] + 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 ParkourRaceMatchStartPush.ProtoReflect.Descriptor instead. +func (*ParkourRaceMatchStartPush) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20} +} + +func (x *ParkourRaceMatchStartPush) GetTeam() *DBParkour { + if x != nil { + return x.Team + } + return nil +} + +//匹配取消通知 +type ParkourRaceMatchCancelPush struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *DBParkour `protobuf:"bytes,1,opt,name=team,proto3" json:"team"` +} + +func (x *ParkourRaceMatchCancelPush) Reset() { + *x = ParkourRaceMatchCancelPush{} + if protoimpl.UnsafeEnabled { + mi := &file_parkour_parkour_msg_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParkourRaceMatchCancelPush) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParkourRaceMatchCancelPush) ProtoMessage() {} + +func (x *ParkourRaceMatchCancelPush) ProtoReflect() protoreflect.Message { + mi := &file_parkour_parkour_msg_proto_msgTypes[21] + 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 ParkourRaceMatchCancelPush.ProtoReflect.Descriptor instead. +func (*ParkourRaceMatchCancelPush) Descriptor() ([]byte, []int) { + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21} +} + +func (x *ParkourRaceMatchCancelPush) GetTeam() *DBParkour { + if x != nil { + return x.Team + } + return nil +} + //匹配成功 type ParkourRaceMatchSuccPush struct { state protoimpl.MessageState @@ -890,7 +1090,7 @@ type ParkourRaceMatchSuccPush struct { func (x *ParkourRaceMatchSuccPush) Reset() { *x = ParkourRaceMatchSuccPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[18] + mi := &file_parkour_parkour_msg_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -903,7 +1103,7 @@ func (x *ParkourRaceMatchSuccPush) String() string { func (*ParkourRaceMatchSuccPush) ProtoMessage() {} func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[18] + mi := &file_parkour_parkour_msg_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -916,7 +1116,7 @@ func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceMatchSuccPush.ProtoReflect.Descriptor instead. func (*ParkourRaceMatchSuccPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22} } func (x *ParkourRaceMatchSuccPush) GetRace() *DBRace { @@ -938,7 +1138,7 @@ type ParkourReadyReq struct { func (x *ParkourReadyReq) Reset() { *x = ParkourReadyReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[19] + mi := &file_parkour_parkour_msg_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -951,7 +1151,7 @@ func (x *ParkourReadyReq) String() string { func (*ParkourReadyReq) ProtoMessage() {} func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[19] + mi := &file_parkour_parkour_msg_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -964,7 +1164,7 @@ func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourReadyReq.ProtoReflect.Descriptor instead. func (*ParkourReadyReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23} } func (x *ParkourReadyReq) GetId() string { @@ -984,7 +1184,7 @@ type ParkourReadyResp struct { func (x *ParkourReadyResp) Reset() { *x = ParkourReadyResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[20] + mi := &file_parkour_parkour_msg_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -997,7 +1197,7 @@ func (x *ParkourReadyResp) String() string { func (*ParkourReadyResp) ProtoMessage() {} func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[20] + mi := &file_parkour_parkour_msg_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1010,7 +1210,7 @@ func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourReadyResp.ProtoReflect.Descriptor instead. func (*ParkourReadyResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24} } //竞速开始推送 @@ -1025,7 +1225,7 @@ type ParkourRaceStartPush struct { func (x *ParkourRaceStartPush) Reset() { *x = ParkourRaceStartPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[21] + mi := &file_parkour_parkour_msg_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1038,7 +1238,7 @@ func (x *ParkourRaceStartPush) String() string { func (*ParkourRaceStartPush) ProtoMessage() {} func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[21] + mi := &file_parkour_parkour_msg_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1051,7 +1251,7 @@ func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceStartPush.ProtoReflect.Descriptor instead. func (*ParkourRaceStartPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25} } func (x *ParkourRaceStartPush) GetCountdown() int32 { @@ -1073,7 +1273,7 @@ type ParkourShotReq struct { func (x *ParkourShotReq) Reset() { *x = ParkourShotReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[22] + mi := &file_parkour_parkour_msg_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1086,7 +1286,7 @@ func (x *ParkourShotReq) String() string { func (*ParkourShotReq) ProtoMessage() {} func (x *ParkourShotReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[22] + mi := &file_parkour_parkour_msg_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1099,7 +1299,7 @@ func (x *ParkourShotReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourShotReq.ProtoReflect.Descriptor instead. func (*ParkourShotReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26} } func (x *ParkourShotReq) GetId() string { @@ -1119,7 +1319,7 @@ type ParkourShotResp struct { func (x *ParkourShotResp) Reset() { *x = ParkourShotResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[23] + mi := &file_parkour_parkour_msg_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1132,7 +1332,7 @@ func (x *ParkourShotResp) String() string { func (*ParkourShotResp) ProtoMessage() {} func (x *ParkourShotResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[23] + mi := &file_parkour_parkour_msg_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1145,7 +1345,7 @@ func (x *ParkourShotResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourShotResp.ProtoReflect.Descriptor instead. func (*ParkourShotResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27} } //躲避障碍请求 @@ -1161,7 +1361,7 @@ type ParkourAvoidReq struct { func (x *ParkourAvoidReq) Reset() { *x = ParkourAvoidReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[24] + mi := &file_parkour_parkour_msg_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1174,7 +1374,7 @@ func (x *ParkourAvoidReq) String() string { func (*ParkourAvoidReq) ProtoMessage() {} func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[24] + mi := &file_parkour_parkour_msg_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1187,7 +1387,7 @@ func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAvoidReq.ProtoReflect.Descriptor instead. func (*ParkourAvoidReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} } func (x *ParkourAvoidReq) GetId() string { @@ -1214,7 +1414,7 @@ type ParkourAvoidResp struct { func (x *ParkourAvoidResp) Reset() { *x = ParkourAvoidResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[25] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1427,7 @@ func (x *ParkourAvoidResp) String() string { func (*ParkourAvoidResp) ProtoMessage() {} func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[25] + mi := &file_parkour_parkour_msg_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1440,7 @@ func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAvoidResp.ProtoReflect.Descriptor instead. func (*ParkourAvoidResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29} } //全员冲刺 @@ -1255,7 +1455,7 @@ type ParkourAllSprintsPush struct { func (x *ParkourAllSprintsPush) Reset() { *x = ParkourAllSprintsPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[26] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1268,7 +1468,7 @@ func (x *ParkourAllSprintsPush) String() string { func (*ParkourAllSprintsPush) ProtoMessage() {} func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[26] + mi := &file_parkour_parkour_msg_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1281,7 +1481,7 @@ func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourAllSprintsPush.ProtoReflect.Descriptor instead. func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30} } func (x *ParkourAllSprintsPush) GetLeft() int32 { @@ -1304,7 +1504,7 @@ type ParkourPlayerHPChanagePush struct { func (x *ParkourPlayerHPChanagePush) Reset() { *x = ParkourPlayerHPChanagePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[27] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1317,7 +1517,7 @@ func (x *ParkourPlayerHPChanagePush) String() string { func (*ParkourPlayerHPChanagePush) ProtoMessage() {} func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[27] + mi := &file_parkour_parkour_msg_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1330,7 +1530,7 @@ func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourPlayerHPChanagePush.ProtoReflect.Descriptor instead. func (*ParkourPlayerHPChanagePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} } func (x *ParkourPlayerHPChanagePush) GetUid() string { @@ -1360,7 +1560,7 @@ type ParkourScoreChanagePush struct { func (x *ParkourScoreChanagePush) Reset() { *x = ParkourScoreChanagePush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1373,7 +1573,7 @@ func (x *ParkourScoreChanagePush) String() string { func (*ParkourScoreChanagePush) ProtoMessage() {} func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[28] + mi := &file_parkour_parkour_msg_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1386,7 +1586,7 @@ func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourScoreChanagePush.ProtoReflect.Descriptor instead. func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} } func (x *ParkourScoreChanagePush) GetRed() int32 { @@ -1415,7 +1615,7 @@ type ParkourRaceOverPush struct { func (x *ParkourRaceOverPush) Reset() { *x = ParkourRaceOverPush{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[29] + mi := &file_parkour_parkour_msg_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1428,7 +1628,7 @@ func (x *ParkourRaceOverPush) String() string { func (*ParkourRaceOverPush) ProtoMessage() {} func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[29] + mi := &file_parkour_parkour_msg_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1441,7 +1641,7 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message { // Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead. func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33} } func (x *ParkourRaceOverPush) GetWinside() int32 { @@ -1464,7 +1664,7 @@ type RPCParkourJoinMatchReq struct { func (x *RPCParkourJoinMatchReq) Reset() { *x = RPCParkourJoinMatchReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[30] + mi := &file_parkour_parkour_msg_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1477,7 +1677,7 @@ func (x *RPCParkourJoinMatchReq) String() string { func (*RPCParkourJoinMatchReq) ProtoMessage() {} func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[30] + mi := &file_parkour_parkour_msg_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1490,7 +1690,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{34} } func (x *RPCParkourJoinMatchReq) GetCaptainid() string { @@ -1517,7 +1717,7 @@ type RPCParkourJoinMatchResp struct { func (x *RPCParkourJoinMatchResp) Reset() { *x = RPCParkourJoinMatchResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[31] + mi := &file_parkour_parkour_msg_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1530,7 +1730,7 @@ func (x *RPCParkourJoinMatchResp) String() string { func (*RPCParkourJoinMatchResp) ProtoMessage() {} func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[31] + mi := &file_parkour_parkour_msg_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1543,7 +1743,7 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead. func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{35} } //取消匹配 @@ -1558,7 +1758,7 @@ type RPCParkourCancelMatchReq struct { func (x *RPCParkourCancelMatchReq) Reset() { *x = RPCParkourCancelMatchReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1571,7 +1771,7 @@ func (x *RPCParkourCancelMatchReq) String() string { func (*RPCParkourCancelMatchReq) ProtoMessage() {} func (x *RPCParkourCancelMatchReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[32] + mi := &file_parkour_parkour_msg_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1584,7 +1784,7 @@ func (x *RPCParkourCancelMatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourCancelMatchReq.ProtoReflect.Descriptor instead. func (*RPCParkourCancelMatchReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{36} } func (x *RPCParkourCancelMatchReq) GetCaptainid() string { @@ -1603,7 +1803,7 @@ type RPCParkourCancelMatchResp struct { func (x *RPCParkourCancelMatchResp) Reset() { *x = RPCParkourCancelMatchResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[33] + mi := &file_parkour_parkour_msg_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1616,7 +1816,7 @@ func (x *RPCParkourCancelMatchResp) String() string { func (*RPCParkourCancelMatchResp) ProtoMessage() {} func (x *RPCParkourCancelMatchResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[33] + mi := &file_parkour_parkour_msg_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1629,7 +1829,7 @@ func (x *RPCParkourCancelMatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourCancelMatchResp.ProtoReflect.Descriptor instead. func (*RPCParkourCancelMatchResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{37} } ///匹配成功通知请求 @@ -1645,7 +1845,7 @@ type RPCParkourMatchSuccReq struct { func (x *RPCParkourMatchSuccReq) Reset() { *x = RPCParkourMatchSuccReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[34] + mi := &file_parkour_parkour_msg_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1658,7 +1858,7 @@ func (x *RPCParkourMatchSuccReq) String() string { func (*RPCParkourMatchSuccReq) ProtoMessage() {} func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[34] + mi := &file_parkour_parkour_msg_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1671,7 +1871,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{34} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{38} } func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember { @@ -1698,7 +1898,7 @@ type RPCParkourMatchSuccResp struct { func (x *RPCParkourMatchSuccResp) Reset() { *x = RPCParkourMatchSuccResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[35] + mi := &file_parkour_parkour_msg_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1711,7 +1911,7 @@ func (x *RPCParkourMatchSuccResp) String() string { func (*RPCParkourMatchSuccResp) ProtoMessage() {} func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[35] + mi := &file_parkour_parkour_msg_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1724,7 +1924,7 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead. func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{35} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{39} } //托管求情 @@ -1740,7 +1940,7 @@ type RPC_ParkourTrusteeshipReq struct { func (x *RPC_ParkourTrusteeshipReq) Reset() { *x = RPC_ParkourTrusteeshipReq{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[36] + mi := &file_parkour_parkour_msg_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1753,7 +1953,7 @@ func (x *RPC_ParkourTrusteeshipReq) String() string { func (*RPC_ParkourTrusteeshipReq) ProtoMessage() {} func (x *RPC_ParkourTrusteeshipReq) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[36] + mi := &file_parkour_parkour_msg_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1766,7 +1966,7 @@ func (x *RPC_ParkourTrusteeshipReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPC_ParkourTrusteeshipReq.ProtoReflect.Descriptor instead. func (*RPC_ParkourTrusteeshipReq) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{36} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{40} } func (x *RPC_ParkourTrusteeshipReq) GetBattleid() string { @@ -1792,7 +1992,7 @@ type RPC_ParkourTrusteeshipResp struct { func (x *RPC_ParkourTrusteeshipResp) Reset() { *x = RPC_ParkourTrusteeshipResp{} if protoimpl.UnsafeEnabled { - mi := &file_parkour_parkour_msg_proto_msgTypes[37] + mi := &file_parkour_parkour_msg_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1805,7 +2005,7 @@ func (x *RPC_ParkourTrusteeshipResp) String() string { func (*RPC_ParkourTrusteeshipResp) ProtoMessage() {} func (x *RPC_ParkourTrusteeshipResp) ProtoReflect() protoreflect.Message { - mi := &file_parkour_parkour_msg_proto_msgTypes[37] + mi := &file_parkour_parkour_msg_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1818,7 +2018,7 @@ func (x *RPC_ParkourTrusteeshipResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RPC_ParkourTrusteeshipResp.ProtoReflect.Descriptor instead. func (*RPC_ParkourTrusteeshipResp) Descriptor() ([]byte, []int) { - return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{37} + return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{41} } var File_parkour_parkour_msg_proto protoreflect.FileDescriptor @@ -1828,127 +2028,143 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{ 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x5b, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x09, 0x72, 0x65, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, - 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, - 0x74, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, - 0x64, 0x22, 0x44, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x4d, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, - 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, - 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, - 0x22, 0x24, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, - 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x63, 0x63, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, - 0x65, 0x61, 0x6d, 0x22, 0x4f, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, - 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, - 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, - 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, - 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, - 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, - 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, - 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, - 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, - 0x32, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, - 0x6e, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, - 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, - 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, - 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, - 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, - 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, - 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, - 0x6d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, - 0x73, 0x68, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x37, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, - 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, - 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, - 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, - 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x2b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43, - 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, - 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, - 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, - 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, - 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, - 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, - 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x76, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6f, 0x70, + 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x22, + 0x2b, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4d, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x14, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, + 0x69, 0x64, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x0a, 0x10, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x1e, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, + 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4f, + 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, 0x0a, 0x16, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x15, + 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, + 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x1e, 0x0a, + 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x62, + 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x22, 0x33, 0x0a, + 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, - 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, - 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, - 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, - 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, - 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x39, 0x0a, 0x19, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, + 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x3b, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, + 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, + 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, + 0x22, 0x3c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, + 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x37, + 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, + 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x34, + 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, + 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2b, 0x0a, 0x15, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43, 0x68, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, 0x13, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, + 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, + 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, + 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, + 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, + 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, + 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, + 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, + 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, + 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1963,7 +2179,7 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte { return file_parkour_parkour_msg_proto_rawDescData } -var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourInfoReq)(nil), // 0: ParkourInfoReq (*ParkourInfoResp)(nil), // 1: ParkourInfoResp @@ -1983,48 +2199,54 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{ (*ParkourTeamDisbandNoticePush)(nil), // 15: ParkourTeamDisbandNoticePush (*ParkourRaceMatchReq)(nil), // 16: ParkourRaceMatchReq (*ParkourRaceMatchResp)(nil), // 17: ParkourRaceMatchResp - (*ParkourRaceMatchSuccPush)(nil), // 18: ParkourRaceMatchSuccPush - (*ParkourReadyReq)(nil), // 19: ParkourReadyReq - (*ParkourReadyResp)(nil), // 20: ParkourReadyResp - (*ParkourRaceStartPush)(nil), // 21: ParkourRaceStartPush - (*ParkourShotReq)(nil), // 22: ParkourShotReq - (*ParkourShotResp)(nil), // 23: ParkourShotResp - (*ParkourAvoidReq)(nil), // 24: ParkourAvoidReq - (*ParkourAvoidResp)(nil), // 25: ParkourAvoidResp - (*ParkourAllSprintsPush)(nil), // 26: ParkourAllSprintsPush - (*ParkourPlayerHPChanagePush)(nil), // 27: ParkourPlayerHPChanagePush - (*ParkourScoreChanagePush)(nil), // 28: ParkourScoreChanagePush - (*ParkourRaceOverPush)(nil), // 29: ParkourRaceOverPush - (*RPCParkourJoinMatchReq)(nil), // 30: RPCParkourJoinMatchReq - (*RPCParkourJoinMatchResp)(nil), // 31: RPCParkourJoinMatchResp - (*RPCParkourCancelMatchReq)(nil), // 32: RPCParkourCancelMatchReq - (*RPCParkourCancelMatchResp)(nil), // 33: RPCParkourCancelMatchResp - (*RPCParkourMatchSuccReq)(nil), // 34: RPCParkourMatchSuccReq - (*RPCParkourMatchSuccResp)(nil), // 35: RPCParkourMatchSuccResp - (*RPC_ParkourTrusteeshipReq)(nil), // 36: RPC_ParkourTrusteeshipReq - (*RPC_ParkourTrusteeshipResp)(nil), // 37: RPC_ParkourTrusteeshipResp - (*DBParkour)(nil), // 38: DBParkour - (*DBRaceMember)(nil), // 39: DBRaceMember - (*DBRace)(nil), // 40: DBRace + (*ParkourRaceMatchCancelReq)(nil), // 18: ParkourRaceMatchCancelReq + (*ParkourRaceMatchCancelResp)(nil), // 19: ParkourRaceMatchCancelResp + (*ParkourRaceMatchStartPush)(nil), // 20: ParkourRaceMatchStartPush + (*ParkourRaceMatchCancelPush)(nil), // 21: ParkourRaceMatchCancelPush + (*ParkourRaceMatchSuccPush)(nil), // 22: ParkourRaceMatchSuccPush + (*ParkourReadyReq)(nil), // 23: ParkourReadyReq + (*ParkourReadyResp)(nil), // 24: ParkourReadyResp + (*ParkourRaceStartPush)(nil), // 25: ParkourRaceStartPush + (*ParkourShotReq)(nil), // 26: ParkourShotReq + (*ParkourShotResp)(nil), // 27: ParkourShotResp + (*ParkourAvoidReq)(nil), // 28: ParkourAvoidReq + (*ParkourAvoidResp)(nil), // 29: ParkourAvoidResp + (*ParkourAllSprintsPush)(nil), // 30: ParkourAllSprintsPush + (*ParkourPlayerHPChanagePush)(nil), // 31: ParkourPlayerHPChanagePush + (*ParkourScoreChanagePush)(nil), // 32: ParkourScoreChanagePush + (*ParkourRaceOverPush)(nil), // 33: ParkourRaceOverPush + (*RPCParkourJoinMatchReq)(nil), // 34: RPCParkourJoinMatchReq + (*RPCParkourJoinMatchResp)(nil), // 35: RPCParkourJoinMatchResp + (*RPCParkourCancelMatchReq)(nil), // 36: RPCParkourCancelMatchReq + (*RPCParkourCancelMatchResp)(nil), // 37: RPCParkourCancelMatchResp + (*RPCParkourMatchSuccReq)(nil), // 38: RPCParkourMatchSuccReq + (*RPCParkourMatchSuccResp)(nil), // 39: RPCParkourMatchSuccResp + (*RPC_ParkourTrusteeshipReq)(nil), // 40: RPC_ParkourTrusteeshipReq + (*RPC_ParkourTrusteeshipResp)(nil), // 41: RPC_ParkourTrusteeshipResp + (*DBParkour)(nil), // 42: DBParkour + (*DBRaceMember)(nil), // 43: DBRaceMember + (*DBRace)(nil), // 44: DBRace } var file_parkour_parkour_msg_proto_depIdxs = []int32{ - 38, // 0: ParkourInfoResp.info:type_name -> DBParkour - 38, // 1: ParkourInfoResp.recommend:type_name -> DBParkour - 38, // 2: ParkourInfoChangePush.info:type_name -> DBParkour - 38, // 3: ParkourInviteResp.team:type_name -> DBParkour - 38, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour - 38, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour - 39, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember - 39, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember - 40, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace - 39, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember - 39, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember - 39, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 42, // 0: ParkourInfoResp.info:type_name -> DBParkour + 43, // 1: ParkourInfoResp.recommend:type_name -> DBRaceMember + 42, // 2: ParkourInfoChangePush.info:type_name -> DBParkour + 42, // 3: ParkourInviteResp.team:type_name -> DBParkour + 42, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour + 42, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour + 43, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember + 43, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember + 42, // 8: ParkourRaceMatchStartPush.team:type_name -> DBParkour + 42, // 9: ParkourRaceMatchCancelPush.team:type_name -> DBParkour + 44, // 10: ParkourRaceMatchSuccPush.race:type_name -> DBRace + 43, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember + 43, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember + 43, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_parkour_parkour_msg_proto_init() } @@ -2251,7 +2473,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceMatchSuccPush); i { + switch v := v.(*ParkourRaceMatchCancelReq); i { case 0: return &v.state case 1: @@ -2263,7 +2485,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourReadyReq); i { + switch v := v.(*ParkourRaceMatchCancelResp); i { case 0: return &v.state case 1: @@ -2275,7 +2497,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourReadyResp); i { + switch v := v.(*ParkourRaceMatchStartPush); i { case 0: return &v.state case 1: @@ -2287,7 +2509,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceStartPush); i { + switch v := v.(*ParkourRaceMatchCancelPush); i { case 0: return &v.state case 1: @@ -2299,7 +2521,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourShotReq); i { + switch v := v.(*ParkourRaceMatchSuccPush); i { case 0: return &v.state case 1: @@ -2311,7 +2533,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourShotResp); i { + switch v := v.(*ParkourReadyReq); i { case 0: return &v.state case 1: @@ -2323,7 +2545,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAvoidReq); i { + switch v := v.(*ParkourReadyResp); i { case 0: return &v.state case 1: @@ -2335,7 +2557,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAvoidResp); i { + switch v := v.(*ParkourRaceStartPush); i { case 0: return &v.state case 1: @@ -2347,7 +2569,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourAllSprintsPush); i { + switch v := v.(*ParkourShotReq); i { case 0: return &v.state case 1: @@ -2359,7 +2581,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourPlayerHPChanagePush); i { + switch v := v.(*ParkourShotResp); i { case 0: return &v.state case 1: @@ -2371,7 +2593,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourScoreChanagePush); i { + switch v := v.(*ParkourAvoidReq); i { case 0: return &v.state case 1: @@ -2383,7 +2605,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParkourRaceOverPush); i { + switch v := v.(*ParkourAvoidResp); i { case 0: return &v.state case 1: @@ -2395,7 +2617,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchReq); i { + switch v := v.(*ParkourAllSprintsPush); i { case 0: return &v.state case 1: @@ -2407,7 +2629,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourJoinMatchResp); i { + switch v := v.(*ParkourPlayerHPChanagePush); i { case 0: return &v.state case 1: @@ -2419,7 +2641,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourCancelMatchReq); i { + switch v := v.(*ParkourScoreChanagePush); i { case 0: return &v.state case 1: @@ -2431,7 +2653,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourCancelMatchResp); i { + switch v := v.(*ParkourRaceOverPush); i { case 0: return &v.state case 1: @@ -2443,7 +2665,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourMatchSuccReq); i { + switch v := v.(*RPCParkourJoinMatchReq); i { case 0: return &v.state case 1: @@ -2455,7 +2677,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCParkourMatchSuccResp); i { + switch v := v.(*RPCParkourJoinMatchResp); i { case 0: return &v.state case 1: @@ -2467,7 +2689,7 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPC_ParkourTrusteeshipReq); i { + switch v := v.(*RPCParkourCancelMatchReq); i { case 0: return &v.state case 1: @@ -2479,6 +2701,54 @@ func file_parkour_parkour_msg_proto_init() { } } file_parkour_parkour_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourCancelMatchResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourMatchSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCParkourMatchSuccResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPC_ParkourTrusteeshipReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_parkour_parkour_msg_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RPC_ParkourTrusteeshipResp); i { case 0: return &v.state @@ -2497,7 +2767,7 @@ func file_parkour_parkour_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_parkour_parkour_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 38, + NumMessages: 42, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.buzkashiOpen.go b/sys/configure/structs/Game.buzkashiOpen.go new file mode 100644 index 000000000..819f52683 --- /dev/null +++ b/sys/configure/structs/Game.buzkashiOpen.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GamebuzkashiOpen struct { + _dataMap map[int32]*GamebuzkashiOpenData + _dataList []*GamebuzkashiOpenData +} + +func NewGamebuzkashiOpen(_buf []map[string]interface{}) (*GamebuzkashiOpen, error) { + _dataList := make([]*GamebuzkashiOpenData, 0, len(_buf)) + dataMap := make(map[int32]*GamebuzkashiOpenData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGamebuzkashiOpenData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Num] = _v + } + } + return &GamebuzkashiOpen{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamebuzkashiOpen) GetDataMap() map[int32]*GamebuzkashiOpenData { + return table._dataMap +} + +func (table *GamebuzkashiOpen) GetDataList() []*GamebuzkashiOpenData { + return table._dataList +} + +func (table *GamebuzkashiOpen) Get(key int32) *GamebuzkashiOpenData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.buzkashiOpenData.go b/sys/configure/structs/Game.buzkashiOpenData.go new file mode 100644 index 000000000..980b5a756 --- /dev/null +++ b/sys/configure/structs/Game.buzkashiOpenData.go @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GamebuzkashiOpenData struct { + Num int32 + Stime string + Etime string +} + +const TypeId_GamebuzkashiOpenData = 1621393927 + +func (*GamebuzkashiOpenData) GetTypeId() int32 { + return 1621393927 +} + +func (_v *GamebuzkashiOpenData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) } + { var _ok_ bool; if _v.Stime, _ok_ = _buf["stime"].(string); !_ok_ { err = errors.New("stime error"); return } } + { var _ok_ bool; if _v.Etime, _ok_ = _buf["etime"].(string); !_ok_ { err = errors.New("etime error"); return } } + return +} + +func DeserializeGamebuzkashiOpenData(_buf map[string]interface{}) (*GamebuzkashiOpenData, error) { + v := &GamebuzkashiOpenData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 95775d48d..abe7c23b7 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -194,6 +194,7 @@ type Tables struct { BuzkashiLv *GameBuzkashiLv BuzkashiGrade *GameBuzkashiGrade BuzkashiReward *GameBuzkashiReward + buzkashiOpen *GamebuzkashiOpen } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1299,5 +1300,11 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil { return nil, err } + if buf, err = loader("game_buzkashiopen") ; err != nil { + return nil, err + } + if tables.buzkashiOpen, err = NewGamebuzkashiOpen(buf) ; err != nil { + return nil, err + } return tables, nil } diff --git a/sys/configure/structs/game.activeRewardData.go b/sys/configure/structs/game.activeRewardData.go index 1b741d60e..aa46b9d5f 100644 --- a/sys/configure/structs/game.activeRewardData.go +++ b/sys/configure/structs/game.activeRewardData.go @@ -15,6 +15,8 @@ type GameActiveRewardData struct { IdTag int32 Active int32 Reword []*Gameatn + Action string + Stage int32 } const TypeId_GameActiveRewardData = 942906779 @@ -41,6 +43,8 @@ func (_v *GameActiveRewardData)Deserialize(_buf map[string]interface{}) (err err } } + { var _ok_ bool; if _v.Action, _ok_ = _buf["action"].(string); !_ok_ { err = errors.New("action error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stage"].(float64); !_ok_ { err = errors.New("stage error"); return }; _v.Stage = int32(_tempNum_) } return } diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go index 22c982fca..0a16cb656 100644 --- a/sys/configure/structs/game.globalData.go +++ b/sys/configure/structs/game.globalData.go @@ -214,6 +214,14 @@ type GameGlobalData struct { BusinessRenovatething int32 FavorabilityLikes int32 FavorabilityDislikes int32 + BuzkashiTime int32 + BuzkashiSchedule int32 + BuzkashiStime int32 + BuzkashiVreward []*Gameatn + BuzkashiFreward []*Gameatn + BuzkashiVintegral []*Gameatn + BuzkashiFintegral []*Gameatn + BuzkashiResurrection int32 } const TypeId_GameGlobalData = 477542761 @@ -842,6 +850,66 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["business_renovatething"].(float64); !_ok_ { err = errors.New("business_renovatething error"); return }; _v.BusinessRenovatething = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_likes"].(float64); !_ok_ { err = errors.New("favorability_likes error"); return }; _v.FavorabilityLikes = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_dislikes"].(float64); !_ok_ { err = errors.New("favorability_dislikes error"); return }; _v.FavorabilityDislikes = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buzkashi_time"].(float64); !_ok_ { err = errors.New("buzkashi_time error"); return }; _v.BuzkashiTime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buzkashi_schedule"].(float64); !_ok_ { err = errors.New("buzkashi_schedule error"); return }; _v.BuzkashiSchedule = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buzkashi_stime"].(float64); !_ok_ { err = errors.New("buzkashi_stime error"); return }; _v.BuzkashiStime = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["buzkashi_vreward"].([]interface{}); !_ok_ { err = errors.New("buzkashi_vreward error"); return } + + _v.BuzkashiVreward = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.BuzkashiVreward = append(_v.BuzkashiVreward, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["buzkashi_freward"].([]interface{}); !_ok_ { err = errors.New("buzkashi_freward error"); return } + + _v.BuzkashiFreward = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.BuzkashiFreward = append(_v.BuzkashiFreward, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["buzkashi_vintegral"].([]interface{}); !_ok_ { err = errors.New("buzkashi_vintegral error"); return } + + _v.BuzkashiVintegral = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.BuzkashiVintegral = append(_v.BuzkashiVintegral, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["buzkashi_fintegral"].([]interface{}); !_ok_ { err = errors.New("buzkashi_fintegral error"); return } + + _v.BuzkashiFintegral = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.BuzkashiFintegral = append(_v.BuzkashiFintegral, _list_v_) + } + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buzkashi_resurrection"].(float64); !_ok_ { err = errors.New("buzkashi_resurrection error"); return }; _v.BuzkashiResurrection = int32(_tempNum_) } return } diff --git a/sys/configure/structs/game.taskActiveRewardData.go b/sys/configure/structs/game.taskActiveRewardData.go index b6cff4ed7..fde65e4da 100644 --- a/sys/configure/structs/game.taskActiveRewardData.go +++ b/sys/configure/structs/game.taskActiveRewardData.go @@ -15,6 +15,8 @@ type GameTaskActiveRewardData struct { IdTag int32 Active int32 Reword []*Gameatn + Action string + Stage int32 } const TypeId_GameTaskActiveRewardData = 1583402816 @@ -41,6 +43,8 @@ func (_v *GameTaskActiveRewardData)Deserialize(_buf map[string]interface{}) (err } } + { var _ok_ bool; if _v.Action, _ok_ = _buf["action"].(string); !_ok_ { err = errors.New("action error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stage"].(float64); !_ok_ { err = errors.New("stage error"); return }; _v.Stage = int32(_tempNum_) } return } From 8bb7c27a7bbf82880b2ffbf1de2054f649399b28 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 21 Apr 2023 18:11:49 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=92=8C=E6=8D=95=E7=BE=8A=E5=A4=A7=E8=B5=9B?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_buzkashifm.json | 102 ++ bin/json/game_buzkashigrade.json | 8 +- bin/json/game_buzkashiopen.json | 144 +- bin/json/game_camplv.json | 294 ++-- bin/json/game_favorability.json | 9 +- bin/json/game_friends.json | 12 +- bin/json/game_item.json | 6 +- bin/json/game_model.json | 1210 +++++++++++++++++ bin/json/game_skillatk.json | 235 +++- bin/json/game_skillbuff.json | 4 +- modules/parkour/configure.go | 2 +- sys/configure/structs/Game.BuzkashiFm.go | 42 + sys/configure/structs/Game.BuzkashiFmData.go | 43 + .../structs/Game.FavorabilityData.go | 16 +- .../structs/Game.buzkashiOpenData.go | 12 +- sys/configure/structs/Tables.go | 7 + sys/configure/structs/game.modelData.go | 18 + 17 files changed, 1857 insertions(+), 307 deletions(-) create mode 100644 bin/json/game_buzkashifm.json create mode 100644 sys/configure/structs/Game.BuzkashiFm.go create mode 100644 sys/configure/structs/Game.BuzkashiFmData.go diff --git a/bin/json/game_buzkashifm.json b/bin/json/game_buzkashifm.json new file mode 100644 index 000000000..682df8df7 --- /dev/null +++ b/bin/json/game_buzkashifm.json @@ -0,0 +1,102 @@ +[ + { + "num": 1, + "type": 1, + "stime": "碰撞障碍时", + "broadcast": { + "key": "itemname_30001", + "text": "这招太狠了,希望没有人受伤" + }, + "icon": "" + }, + { + "num": 2, + "type": 1, + "stime": "碰撞障碍时", + "broadcast": { + "key": "itemname_30001", + "text": "这招太狠了,希望没有人受伤" + }, + "icon": "" + }, + { + "num": 3, + "type": 2, + "stime": "闪避障碍时", + "broadcast": { + "key": "itemname_30002", + "text": "大放异彩!" + }, + "icon": "" + }, + { + "num": 4, + "type": 3, + "stime": "射门成功", + "broadcast": { + "key": "itemname_30003", + "text": "完美的配合!" + }, + "icon": "" + }, + { + "num": 5, + "type": 4, + "stime": "射门失败", + "broadcast": { + "key": "itemname_30004", + "text": "这招太狠了,希望没有人受伤" + }, + "icon": "" + }, + { + "num": 6, + "type": 5, + "stime": "使用药剂", + "broadcast": { + "key": "itemname_30005", + "text": "大放异彩!" + }, + "icon": "" + }, + { + "num": 7, + "type": 6, + "stime": "团队冲刺", + "broadcast": { + "key": "itemname_50001", + "text": "完美的配合!" + }, + "icon": "" + }, + { + "num": 8, + "type": 7, + "stime": "死亡", + "broadcast": { + "key": "itemname_50001", + "text": "这招太狠了,希望没有人受伤" + }, + "icon": "" + }, + { + "num": 9, + "type": 8, + "stime": "使用道具", + "broadcast": { + "key": "itemname_50001", + "text": "大放异彩!" + }, + "icon": "" + }, + { + "num": 10, + "type": 9, + "stime": "射门时", + "broadcast": { + "key": "itemname_50001", + "text": "完美的配合!" + }, + "icon": "" + } +] \ No newline at end of file diff --git a/bin/json/game_buzkashigrade.json b/bin/json/game_buzkashigrade.json index a673dd940..5777e7c27 100644 --- a/bin/json/game_buzkashigrade.json +++ b/bin/json/game_buzkashigrade.json @@ -2,21 +2,21 @@ { "num": 1, "distance": "1", - "value": 2 + "value": 8 }, { "num": 2, "distance": "2", - "value": 4 + "value": 6 }, { "num": 3, "distance": "3", - "value": 6 + "value": 4 }, { "num": 4, "distance": "4", - "value": 8 + "value": 2 } ] \ No newline at end of file diff --git a/bin/json/game_buzkashiopen.json b/bin/json/game_buzkashiopen.json index f005ec1ee..cac0a1795 100644 --- a/bin/json/game_buzkashiopen.json +++ b/bin/json/game_buzkashiopen.json @@ -1,122 +1,170 @@ [ { "num": 1, - "stime": "1899/12/31 0:30:00", - "etime": "1899/12/31 0:50:00" + "shtime": 0, + "smtime": 30, + "ehtime": 0, + "emtime": 50 }, { "num": 2, - "stime": "1899/12/31 1:30:00", - "etime": "1899/12/31 1:50:00" + "shtime": 1, + "smtime": 30, + "ehtime": 1, + "emtime": 50 }, { "num": 3, - "stime": "1899/12/31 2:30:00", - "etime": "1899/12/31 2:50:00" + "shtime": 2, + "smtime": 30, + "ehtime": 2, + "emtime": 50 }, { "num": 4, - "stime": "1899/12/31 3:30:00", - "etime": "1899/12/31 3:50:00" + "shtime": 3, + "smtime": 30, + "ehtime": 3, + "emtime": 50 }, { "num": 5, - "stime": "1899/12/31 4:30:00", - "etime": "1899/12/31 4:50:00" + "shtime": 4, + "smtime": 30, + "ehtime": 4, + "emtime": 50 }, { "num": 6, - "stime": "1899/12/31 5:30:00", - "etime": "1899/12/31 5:50:00" + "shtime": 5, + "smtime": 30, + "ehtime": 5, + "emtime": 50 }, { "num": 7, - "stime": "1899/12/31 6:30:00", - "etime": "1899/12/31 6:50:00" + "shtime": 6, + "smtime": 30, + "ehtime": 6, + "emtime": 50 }, { "num": 8, - "stime": "1899/12/31 7:30:00", - "etime": "1899/12/31 7:50:00" + "shtime": 7, + "smtime": 30, + "ehtime": 7, + "emtime": 50 }, { "num": 9, - "stime": "1899/12/31 8:30:00", - "etime": "1899/12/31 8:50:00" + "shtime": 8, + "smtime": 30, + "ehtime": 8, + "emtime": 50 }, { "num": 10, - "stime": "1899/12/31 9:30:00", - "etime": "1899/12/31 9:50:00" + "shtime": 9, + "smtime": 30, + "ehtime": 9, + "emtime": 50 }, { "num": 11, - "stime": "1899/12/31 10:30:00", - "etime": "1899/12/31 10:50:00" + "shtime": 10, + "smtime": 30, + "ehtime": 10, + "emtime": 50 }, { "num": 12, - "stime": "1899/12/31 11:30:00", - "etime": "1899/12/31 11:50:00" + "shtime": 11, + "smtime": 30, + "ehtime": 11, + "emtime": 50 }, { "num": 13, - "stime": "1899/12/31 12:30:00", - "etime": "1899/12/31 12:50:00" + "shtime": 12, + "smtime": 30, + "ehtime": 12, + "emtime": 50 }, { "num": 14, - "stime": "1899/12/31 13:30:00", - "etime": "1899/12/31 13:50:00" + "shtime": 13, + "smtime": 30, + "ehtime": 13, + "emtime": 50 }, { "num": 15, - "stime": "1899/12/31 14:30:00", - "etime": "1899/12/31 14:50:00" + "shtime": 14, + "smtime": 30, + "ehtime": 14, + "emtime": 50 }, { "num": 16, - "stime": "1899/12/31 15:30:00", - "etime": "1899/12/31 15:50:00" + "shtime": 15, + "smtime": 30, + "ehtime": 15, + "emtime": 50 }, { "num": 17, - "stime": "1899/12/31 16:30:00", - "etime": "1899/12/31 16:50:00" + "shtime": 16, + "smtime": 30, + "ehtime": 16, + "emtime": 50 }, { "num": 18, - "stime": "1899/12/31 17:30:00", - "etime": "1899/12/31 17:50:00" + "shtime": 17, + "smtime": 30, + "ehtime": 17, + "emtime": 50 }, { "num": 19, - "stime": "1899/12/31 18:30:00", - "etime": "1899/12/31 18:50:00" + "shtime": 18, + "smtime": 30, + "ehtime": 18, + "emtime": 50 }, { "num": 20, - "stime": "1899/12/31 19:30:00", - "etime": "1899/12/31 19:50:00" + "shtime": 19, + "smtime": 30, + "ehtime": 19, + "emtime": 50 }, { "num": 21, - "stime": "1899/12/31 20:30:00", - "etime": "1899/12/31 20:50:00" + "shtime": 20, + "smtime": 30, + "ehtime": 20, + "emtime": 50 }, { "num": 22, - "stime": "1899/12/31 21:30:00", - "etime": "1899/12/31 21:50:00" + "shtime": 21, + "smtime": 30, + "ehtime": 21, + "emtime": 50 }, { "num": 23, - "stime": "1899/12/31 22:30:00", - "etime": "1899/12/31 22:50:00" + "shtime": 22, + "smtime": 30, + "ehtime": 22, + "emtime": 50 }, { "num": 24, - "stime": "1899/12/31 23:30:00", - "etime": "1899/12/31 23:50:00" + "shtime": 23, + "smtime": 30, + "ehtime": 23, + "emtime": 50 } ] \ No newline at end of file diff --git a/bin/json/game_camplv.json b/bin/json/game_camplv.json index b7178514d..adad29886 100644 --- a/bin/json/game_camplv.json +++ b/bin/json/game_camplv.json @@ -1,9 +1,9 @@ [ { "id": 1, - "reputation_lv": 0, + "reputation_lv": 1, "raceType": 1, - "reputation_exp": 0, + "reputation_exp": 20, "Reward": { "a": "attr", "t": "talent1", @@ -12,9 +12,9 @@ }, { "id": 2, - "reputation_lv": 1, + "reputation_lv": 2, "raceType": 1, - "reputation_exp": 20, + "reputation_exp": 30, "Reward": { "a": "attr", "t": "talent1", @@ -23,9 +23,9 @@ }, { "id": 3, - "reputation_lv": 2, + "reputation_lv": 3, "raceType": 1, - "reputation_exp": 30, + "reputation_exp": 40, "Reward": { "a": "attr", "t": "talent1", @@ -34,9 +34,9 @@ }, { "id": 4, - "reputation_lv": 3, + "reputation_lv": 4, "raceType": 1, - "reputation_exp": 40, + "reputation_exp": 50, "Reward": { "a": "attr", "t": "talent1", @@ -45,9 +45,9 @@ }, { "id": 5, - "reputation_lv": 4, + "reputation_lv": 5, "raceType": 1, - "reputation_exp": 50, + "reputation_exp": 60, "Reward": { "a": "attr", "t": "talent1", @@ -56,9 +56,9 @@ }, { "id": 6, - "reputation_lv": 5, + "reputation_lv": 6, "raceType": 1, - "reputation_exp": 60, + "reputation_exp": 70, "Reward": { "a": "attr", "t": "talent1", @@ -67,9 +67,9 @@ }, { "id": 7, - "reputation_lv": 6, + "reputation_lv": 7, "raceType": 1, - "reputation_exp": 70, + "reputation_exp": 80, "Reward": { "a": "attr", "t": "talent1", @@ -78,20 +78,20 @@ }, { "id": 8, - "reputation_lv": 7, + "reputation_lv": 8, "raceType": 1, - "reputation_exp": 80, + "reputation_exp": 90, "Reward": { "a": "attr", - "t": "talent1", + "t": "talent2", "n": 1 } }, { "id": 9, - "reputation_lv": 8, + "reputation_lv": 9, "raceType": 1, - "reputation_exp": 90, + "reputation_exp": 100, "Reward": { "a": "attr", "t": "talent2", @@ -100,9 +100,9 @@ }, { "id": 10, - "reputation_lv": 9, + "reputation_lv": 10, "raceType": 1, - "reputation_exp": 100, + "reputation_exp": 110, "Reward": { "a": "attr", "t": "talent2", @@ -111,9 +111,9 @@ }, { "id": 11, - "reputation_lv": 10, + "reputation_lv": 11, "raceType": 1, - "reputation_exp": 110, + "reputation_exp": 120, "Reward": { "a": "attr", "t": "talent2", @@ -122,9 +122,9 @@ }, { "id": 12, - "reputation_lv": 11, + "reputation_lv": 12, "raceType": 1, - "reputation_exp": 120, + "reputation_exp": 130, "Reward": { "a": "attr", "t": "talent2", @@ -133,9 +133,9 @@ }, { "id": 13, - "reputation_lv": 12, + "reputation_lv": 13, "raceType": 1, - "reputation_exp": 130, + "reputation_exp": 140, "Reward": { "a": "attr", "t": "talent2", @@ -144,9 +144,9 @@ }, { "id": 14, - "reputation_lv": 13, + "reputation_lv": 14, "raceType": 1, - "reputation_exp": 140, + "reputation_exp": 150, "Reward": { "a": "attr", "t": "talent2", @@ -155,9 +155,9 @@ }, { "id": 15, - "reputation_lv": 14, + "reputation_lv": 15, "raceType": 1, - "reputation_exp": 150, + "reputation_exp": 160, "Reward": { "a": "attr", "t": "talent2", @@ -166,9 +166,9 @@ }, { "id": 16, - "reputation_lv": 15, + "reputation_lv": 16, "raceType": 1, - "reputation_exp": 160, + "reputation_exp": 170, "Reward": { "a": "attr", "t": "talent2", @@ -177,9 +177,9 @@ }, { "id": 17, - "reputation_lv": 16, + "reputation_lv": 17, "raceType": 1, - "reputation_exp": 170, + "reputation_exp": 180, "Reward": { "a": "attr", "t": "talent2", @@ -188,9 +188,9 @@ }, { "id": 18, - "reputation_lv": 17, + "reputation_lv": 18, "raceType": 1, - "reputation_exp": 180, + "reputation_exp": 190, "Reward": { "a": "attr", "t": "talent2", @@ -199,9 +199,9 @@ }, { "id": 19, - "reputation_lv": 18, + "reputation_lv": 19, "raceType": 1, - "reputation_exp": 190, + "reputation_exp": 200, "Reward": { "a": "attr", "t": "talent2", @@ -210,9 +210,9 @@ }, { "id": 20, - "reputation_lv": 19, + "reputation_lv": 20, "raceType": 1, - "reputation_exp": 200, + "reputation_exp": 210, "Reward": { "a": "attr", "t": "talent2", @@ -221,9 +221,9 @@ }, { "id": 21, - "reputation_lv": 20, - "raceType": 1, - "reputation_exp": 210, + "reputation_lv": 1, + "raceType": 2, + "reputation_exp": 20, "Reward": { "a": "attr", "t": "talent2", @@ -232,9 +232,9 @@ }, { "id": 22, - "reputation_lv": 0, + "reputation_lv": 2, "raceType": 2, - "reputation_exp": 0, + "reputation_exp": 30, "Reward": { "a": "attr", "t": "talent2", @@ -243,9 +243,9 @@ }, { "id": 23, - "reputation_lv": 1, + "reputation_lv": 3, "raceType": 2, - "reputation_exp": 20, + "reputation_exp": 40, "Reward": { "a": "attr", "t": "talent2", @@ -254,9 +254,9 @@ }, { "id": 24, - "reputation_lv": 2, + "reputation_lv": 4, "raceType": 2, - "reputation_exp": 30, + "reputation_exp": 50, "Reward": { "a": "attr", "t": "talent2", @@ -265,9 +265,9 @@ }, { "id": 25, - "reputation_lv": 3, + "reputation_lv": 5, "raceType": 2, - "reputation_exp": 40, + "reputation_exp": 60, "Reward": { "a": "attr", "t": "talent2", @@ -276,9 +276,9 @@ }, { "id": 26, - "reputation_lv": 4, + "reputation_lv": 6, "raceType": 2, - "reputation_exp": 50, + "reputation_exp": 70, "Reward": { "a": "attr", "t": "talent2", @@ -287,9 +287,9 @@ }, { "id": 27, - "reputation_lv": 5, + "reputation_lv": 7, "raceType": 2, - "reputation_exp": 60, + "reputation_exp": 80, "Reward": { "a": "attr", "t": "talent2", @@ -298,9 +298,9 @@ }, { "id": 28, - "reputation_lv": 6, + "reputation_lv": 8, "raceType": 2, - "reputation_exp": 70, + "reputation_exp": 90, "Reward": { "a": "attr", "t": "talent2", @@ -309,9 +309,9 @@ }, { "id": 29, - "reputation_lv": 7, + "reputation_lv": 9, "raceType": 2, - "reputation_exp": 80, + "reputation_exp": 100, "Reward": { "a": "attr", "t": "talent2", @@ -320,9 +320,9 @@ }, { "id": 30, - "reputation_lv": 8, + "reputation_lv": 10, "raceType": 2, - "reputation_exp": 90, + "reputation_exp": 110, "Reward": { "a": "attr", "t": "talent2", @@ -331,9 +331,9 @@ }, { "id": 31, - "reputation_lv": 9, + "reputation_lv": 11, "raceType": 2, - "reputation_exp": 100, + "reputation_exp": 120, "Reward": { "a": "attr", "t": "talent2", @@ -342,9 +342,9 @@ }, { "id": 32, - "reputation_lv": 10, + "reputation_lv": 12, "raceType": 2, - "reputation_exp": 110, + "reputation_exp": 130, "Reward": { "a": "attr", "t": "talent2", @@ -353,9 +353,9 @@ }, { "id": 33, - "reputation_lv": 11, + "reputation_lv": 13, "raceType": 2, - "reputation_exp": 120, + "reputation_exp": 140, "Reward": { "a": "attr", "t": "talent2", @@ -364,9 +364,9 @@ }, { "id": 34, - "reputation_lv": 12, + "reputation_lv": 14, "raceType": 2, - "reputation_exp": 130, + "reputation_exp": 150, "Reward": { "a": "attr", "t": "talent2", @@ -375,9 +375,9 @@ }, { "id": 35, - "reputation_lv": 13, + "reputation_lv": 15, "raceType": 2, - "reputation_exp": 140, + "reputation_exp": 160, "Reward": { "a": "attr", "t": "talent2", @@ -386,9 +386,9 @@ }, { "id": 36, - "reputation_lv": 14, + "reputation_lv": 16, "raceType": 2, - "reputation_exp": 150, + "reputation_exp": 170, "Reward": { "a": "attr", "t": "talent2", @@ -397,9 +397,9 @@ }, { "id": 37, - "reputation_lv": 15, + "reputation_lv": 17, "raceType": 2, - "reputation_exp": 160, + "reputation_exp": 180, "Reward": { "a": "attr", "t": "talent2", @@ -408,9 +408,9 @@ }, { "id": 38, - "reputation_lv": 16, + "reputation_lv": 18, "raceType": 2, - "reputation_exp": 170, + "reputation_exp": 190, "Reward": { "a": "attr", "t": "talent2", @@ -419,9 +419,9 @@ }, { "id": 39, - "reputation_lv": 17, + "reputation_lv": 19, "raceType": 2, - "reputation_exp": 180, + "reputation_exp": 200, "Reward": { "a": "attr", "t": "talent2", @@ -430,9 +430,9 @@ }, { "id": 40, - "reputation_lv": 18, + "reputation_lv": 20, "raceType": 2, - "reputation_exp": 190, + "reputation_exp": 210, "Reward": { "a": "attr", "t": "talent2", @@ -441,9 +441,9 @@ }, { "id": 41, - "reputation_lv": 19, - "raceType": 2, - "reputation_exp": 200, + "reputation_lv": 1, + "raceType": 3, + "reputation_exp": 20, "Reward": { "a": "attr", "t": "talent2", @@ -452,9 +452,9 @@ }, { "id": 42, - "reputation_lv": 20, - "raceType": 2, - "reputation_exp": 210, + "reputation_lv": 2, + "raceType": 3, + "reputation_exp": 30, "Reward": { "a": "attr", "t": "talent2", @@ -463,39 +463,6 @@ }, { "id": 43, - "reputation_lv": 0, - "raceType": 3, - "reputation_exp": 0, - "Reward": { - "a": "attr", - "t": "talent2", - "n": 1 - } - }, - { - "id": 44, - "reputation_lv": 1, - "raceType": 3, - "reputation_exp": 20, - "Reward": { - "a": "attr", - "t": "talent2", - "n": 1 - } - }, - { - "id": 45, - "reputation_lv": 2, - "raceType": 3, - "reputation_exp": 30, - "Reward": { - "a": "attr", - "t": "talent2", - "n": 1 - } - }, - { - "id": 46, "reputation_lv": 3, "raceType": 3, "reputation_exp": 40, @@ -506,7 +473,7 @@ } }, { - "id": 47, + "id": 44, "reputation_lv": 4, "raceType": 3, "reputation_exp": 50, @@ -517,7 +484,7 @@ } }, { - "id": 48, + "id": 45, "reputation_lv": 5, "raceType": 3, "reputation_exp": 60, @@ -528,7 +495,7 @@ } }, { - "id": 49, + "id": 46, "reputation_lv": 6, "raceType": 3, "reputation_exp": 70, @@ -539,7 +506,7 @@ } }, { - "id": 50, + "id": 47, "reputation_lv": 7, "raceType": 3, "reputation_exp": 80, @@ -550,7 +517,7 @@ } }, { - "id": 51, + "id": 48, "reputation_lv": 8, "raceType": 3, "reputation_exp": 90, @@ -561,7 +528,7 @@ } }, { - "id": 52, + "id": 49, "reputation_lv": 9, "raceType": 3, "reputation_exp": 100, @@ -572,7 +539,7 @@ } }, { - "id": 53, + "id": 50, "reputation_lv": 10, "raceType": 3, "reputation_exp": 110, @@ -583,7 +550,7 @@ } }, { - "id": 54, + "id": 51, "reputation_lv": 11, "raceType": 3, "reputation_exp": 120, @@ -594,7 +561,7 @@ } }, { - "id": 55, + "id": 52, "reputation_lv": 12, "raceType": 3, "reputation_exp": 130, @@ -605,7 +572,7 @@ } }, { - "id": 56, + "id": 53, "reputation_lv": 13, "raceType": 3, "reputation_exp": 140, @@ -616,7 +583,7 @@ } }, { - "id": 57, + "id": 54, "reputation_lv": 14, "raceType": 3, "reputation_exp": 150, @@ -627,7 +594,7 @@ } }, { - "id": 58, + "id": 55, "reputation_lv": 15, "raceType": 3, "reputation_exp": 160, @@ -638,7 +605,7 @@ } }, { - "id": 59, + "id": 56, "reputation_lv": 16, "raceType": 3, "reputation_exp": 170, @@ -649,7 +616,7 @@ } }, { - "id": 60, + "id": 57, "reputation_lv": 17, "raceType": 3, "reputation_exp": 180, @@ -660,7 +627,7 @@ } }, { - "id": 61, + "id": 58, "reputation_lv": 18, "raceType": 3, "reputation_exp": 190, @@ -671,7 +638,7 @@ } }, { - "id": 62, + "id": 59, "reputation_lv": 19, "raceType": 3, "reputation_exp": 200, @@ -682,7 +649,7 @@ } }, { - "id": 63, + "id": 60, "reputation_lv": 20, "raceType": 3, "reputation_exp": 210, @@ -693,18 +660,7 @@ } }, { - "id": 64, - "reputation_lv": 0, - "raceType": 4, - "reputation_exp": 0, - "Reward": { - "a": "attr", - "t": "talent2", - "n": 1 - } - }, - { - "id": 65, + "id": 61, "reputation_lv": 1, "raceType": 4, "reputation_exp": 20, @@ -715,7 +671,7 @@ } }, { - "id": 66, + "id": 62, "reputation_lv": 2, "raceType": 4, "reputation_exp": 30, @@ -726,7 +682,7 @@ } }, { - "id": 67, + "id": 63, "reputation_lv": 3, "raceType": 4, "reputation_exp": 40, @@ -737,7 +693,7 @@ } }, { - "id": 68, + "id": 64, "reputation_lv": 4, "raceType": 4, "reputation_exp": 50, @@ -748,7 +704,7 @@ } }, { - "id": 69, + "id": 65, "reputation_lv": 5, "raceType": 4, "reputation_exp": 60, @@ -759,7 +715,7 @@ } }, { - "id": 70, + "id": 66, "reputation_lv": 6, "raceType": 4, "reputation_exp": 70, @@ -770,7 +726,7 @@ } }, { - "id": 71, + "id": 67, "reputation_lv": 7, "raceType": 4, "reputation_exp": 80, @@ -781,7 +737,7 @@ } }, { - "id": 72, + "id": 68, "reputation_lv": 8, "raceType": 4, "reputation_exp": 90, @@ -792,7 +748,7 @@ } }, { - "id": 73, + "id": 69, "reputation_lv": 9, "raceType": 4, "reputation_exp": 100, @@ -803,7 +759,7 @@ } }, { - "id": 74, + "id": 70, "reputation_lv": 10, "raceType": 4, "reputation_exp": 110, @@ -814,7 +770,7 @@ } }, { - "id": 75, + "id": 71, "reputation_lv": 11, "raceType": 4, "reputation_exp": 120, @@ -825,7 +781,7 @@ } }, { - "id": 76, + "id": 72, "reputation_lv": 12, "raceType": 4, "reputation_exp": 130, @@ -836,7 +792,7 @@ } }, { - "id": 77, + "id": 73, "reputation_lv": 13, "raceType": 4, "reputation_exp": 140, @@ -847,7 +803,7 @@ } }, { - "id": 78, + "id": 74, "reputation_lv": 14, "raceType": 4, "reputation_exp": 150, @@ -858,7 +814,7 @@ } }, { - "id": 79, + "id": 75, "reputation_lv": 15, "raceType": 4, "reputation_exp": 160, @@ -869,7 +825,7 @@ } }, { - "id": 80, + "id": 76, "reputation_lv": 16, "raceType": 4, "reputation_exp": 170, @@ -880,7 +836,7 @@ } }, { - "id": 81, + "id": 77, "reputation_lv": 17, "raceType": 4, "reputation_exp": 180, @@ -891,7 +847,7 @@ } }, { - "id": 82, + "id": 78, "reputation_lv": 18, "raceType": 4, "reputation_exp": 190, @@ -902,7 +858,7 @@ } }, { - "id": 83, + "id": 79, "reputation_lv": 19, "raceType": 4, "reputation_exp": 200, @@ -913,7 +869,7 @@ } }, { - "id": 84, + "id": 80, "reputation_lv": 20, "raceType": 4, "reputation_exp": 210, diff --git a/bin/json/game_favorability.json b/bin/json/game_favorability.json index 07f09b7ac..457ef0b40 100644 --- a/bin/json/game_favorability.json +++ b/bin/json/game_favorability.json @@ -30,8 +30,13 @@ "key": "favorability_favorability_return_txt", "text": "达到好感度{0}级可领取" }, - "likes_food": [], - "disliking_food": [], + "likes_food": [ + "132000", + "132001" + ], + "disliking_food": [ + "132002" + ], "likes_txt": { "key": "favorability_favorability_likes_txt_14002", "text": "我很喜欢,谢谢!" diff --git a/bin/json/game_friends.json b/bin/json/game_friends.json index f4f50d05b..521416256 100644 --- a/bin/json/game_friends.json +++ b/bin/json/game_friends.json @@ -41,7 +41,7 @@ "png": "jiban_img_zu02", "friends_lv": 1, "favorability_lv": 1, - "hid": "35001", + "hid": "14002", "attribute": [ { "a": "atk", @@ -49,7 +49,7 @@ } ], "attribute_txt": { - "key": "favorability_friends_friend_name_350011", + "key": "favorability_friends_friend_name_140021", "text": "攻击力+{0}" } }, @@ -95,7 +95,7 @@ "png": "jiban_img_zu02", "friends_lv": 2, "favorability_lv": 9, - "hid": "35001", + "hid": "14002", "attribute": [ { "a": "atk", @@ -103,7 +103,7 @@ } ], "attribute_txt": { - "key": "favorability_friends_friend_name_350012", + "key": "favorability_friends_friend_name_140022", "text": "攻击力+{0}" } }, @@ -149,7 +149,7 @@ "png": "jiban_img_zu02", "friends_lv": 3, "favorability_lv": 15, - "hid": "35001", + "hid": "14002", "attribute": [ { "a": "atk", @@ -157,7 +157,7 @@ } ], "attribute_txt": { - "key": "favorability_friends_friend_name_350013", + "key": "favorability_friends_friend_name_140023", "text": "攻击力+{0}" } }, diff --git a/bin/json/game_item.json b/bin/json/game_item.json index 4056f0c89..69c0a7839 100644 --- a/bin/json/game_item.json +++ b/bin/json/game_item.json @@ -7741,7 +7741,7 @@ "color": 1, "bagtype": 1, "index": 99, - "special_type": 0, + "special_type": 1000, "time": 0, "reddottype": 0, "effects": "", @@ -7777,7 +7777,7 @@ "color": 3, "bagtype": 1, "index": 99, - "special_type": 0, + "special_type": 800, "time": 0, "reddottype": 0, "effects": "", @@ -7813,7 +7813,7 @@ "color": 4, "bagtype": 1, "index": 1, - "special_type": 0, + "special_type": 900, "time": 0, "reddottype": 0, "effects": "", diff --git a/bin/json/game_model.json b/bin/json/game_model.json index caeee1b96..f2faeb998 100644 --- a/bin/json/game_model.json +++ b/bin/json/game_model.json @@ -22,6 +22,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -47,6 +57,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -72,6 +92,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -97,6 +127,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -122,6 +162,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -147,6 +197,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -172,6 +232,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -197,6 +267,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -222,6 +302,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -247,6 +337,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -272,6 +372,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -297,6 +407,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -322,6 +442,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -347,6 +477,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -372,6 +512,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -397,6 +547,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -422,6 +582,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -447,6 +617,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -472,6 +652,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -497,6 +687,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -522,6 +722,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -547,6 +757,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -572,6 +792,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -597,6 +827,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -622,6 +862,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -647,6 +897,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -672,6 +932,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -697,6 +967,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -722,6 +1002,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -747,6 +1037,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -772,6 +1072,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -797,6 +1107,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -822,6 +1142,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -847,6 +1177,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -872,6 +1212,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -897,6 +1247,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -922,6 +1282,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -947,6 +1317,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -972,6 +1352,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -997,6 +1387,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1022,6 +1422,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1047,6 +1457,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1072,6 +1492,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1097,6 +1527,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1122,6 +1562,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1147,6 +1597,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1172,6 +1632,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1197,6 +1667,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1222,6 +1702,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1247,6 +1737,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1272,6 +1772,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1297,6 +1807,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1322,6 +1842,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1347,6 +1877,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1372,6 +1912,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1397,6 +1947,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1422,6 +1982,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1447,6 +2017,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1472,6 +2052,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1497,6 +2087,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1522,6 +2122,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1547,6 +2157,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1572,6 +2192,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1597,6 +2227,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1622,6 +2262,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1647,6 +2297,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1672,6 +2332,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1697,6 +2367,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1722,6 +2402,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1747,6 +2437,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1772,6 +2472,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1797,6 +2507,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1822,6 +2542,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1847,6 +2577,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1872,6 +2612,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1897,6 +2647,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1922,6 +2682,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1947,6 +2717,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1972,6 +2752,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -1997,6 +2787,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2022,6 +2822,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2047,6 +2857,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2072,6 +2892,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2097,6 +2927,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2122,6 +2962,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2147,6 +2997,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2172,6 +3032,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2197,6 +3067,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2222,6 +3102,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2247,6 +3137,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2272,6 +3172,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2297,6 +3207,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2322,6 +3242,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2347,6 +3277,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2372,6 +3312,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2397,6 +3347,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2422,6 +3382,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2447,6 +3417,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2472,6 +3452,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2497,6 +3487,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2522,6 +3522,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2547,6 +3557,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2572,6 +3592,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2597,6 +3627,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2622,6 +3662,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2647,6 +3697,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2672,6 +3732,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2697,6 +3767,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2722,6 +3802,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2747,6 +3837,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2772,6 +3872,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2797,6 +3907,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2822,6 +3942,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2847,6 +3977,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2872,6 +4012,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2897,6 +4047,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2922,6 +4082,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2947,6 +4117,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2972,6 +4152,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -2997,6 +4187,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } }, { @@ -3022,6 +4222,16 @@ "x": 0, "y": 180, "z": 0 + }, + "boxPos": { + "x": 0, + "y": 0.5, + "z": 0 + }, + "boxSize": { + "x": 1, + "y": 1, + "z": 1 } } ] \ No newline at end of file diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json index 1fbaedad5..8013080e0 100644 --- a/bin/json/game_skillatk.json +++ b/bin/json/game_skillatk.json @@ -52,7 +52,9 @@ "key": "skill_1250041111", "text": "对敌方1个目标造成3次攻击力30%的伤害,有40%概率为自身附加2回合【免疫】状态" }, - "buffid": [], + "buffid": [ + 390001111 + ], "map": "" }, { @@ -222,7 +224,9 @@ "key": "skill_1250042111", "text": "清除我方所有减益状态,并平均分配我方生命值,为我方全体附加2回合【攻击提升】状态" }, - "buffid": [], + "buffid": [ + 390001001 + ], "map": "" }, { @@ -310,7 +314,9 @@ "key": "skill_1250043111", "text": "进入2回合【喜悦】状态,使我方全体收到伤害降低25%,且在每个队友行动前,为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动" }, - "buffid": [], + "buffid": [ + 390001208 + ], "map": "" }, { @@ -479,7 +485,9 @@ "key": "skill_1350021111", "text": "攻击一个敌方2次,伤害分别为自身攻击力30%和80%,每次向目标转嫁自身1个减益;转嫁成功时有50%的概率为目标附加1回合【眩晕】。" }, - "buffid": [], + "buffid": [ + 390001105 + ], "map": "" }, { @@ -1046,7 +1054,9 @@ "key": "skill_1240031111", "text": "对敌方1个目标造成攻击力110%的伤害,并有70%的概率附加1回合【睡眠】状态。" }, - "buffid": [], + "buffid": [ + 390001118 + ], "map": "" }, { @@ -1191,7 +1201,9 @@ "key": "skill_1240032111", "text": "为我方全体各净化1个减益状态,并附加2回合【速度提升】。" }, - "buffid": [], + "buffid": [ + 390001003 + ], "map": "" }, { @@ -1250,7 +1262,9 @@ "key": "skill_1240033111", "text": "对敌方全体造成攻击力80%的伤害,使敌方目标各减少30%行动值,并有100%概率附加1回合【睡眠】状态。" }, - "buffid": [], + "buffid": [ + 390001118 + ], "map": "" }, { @@ -1428,7 +1442,10 @@ "key": "skill_9240034111", "text": "为我方全体各净化1个减益状态,并附加2回合【速度提升】和1回合【防御提升】状态。" }, - "buffid": [], + "buffid": [ + 390001003, + 390001002 + ], "map": "" }, { @@ -1514,7 +1531,9 @@ "key": "skill_1340061111", "text": "对敌方1个目标造成2次攻击力50%的伤害,有60%概率为目标附加2回合【速度下降】" }, - "buffid": [], + "buffid": [ + 390001008 + ], "map": "" }, { @@ -1794,7 +1813,10 @@ "key": "skill_1340063111", "text": "攻击敌方全体,伤害为自身攻击力100%,90%概率为目标附加2回合【速度下降】和1回合【冰冻】" }, - "buffid": [], + "buffid": [ + 390001008, + 390001106 + ], "map": "" }, { @@ -1934,7 +1956,9 @@ "key": "skill_9340064111", "text": "攻击全体敌方,伤害为自身攻击力70%,70%概率降低目标30%行动值;目标有【速度下降】时,降低行动值翻倍。" }, - "buffid": [], + "buffid": [ + 390001008 + ], "map": "" }, { @@ -2102,7 +2126,9 @@ "key": "skill_1250011111", "text": "对敌方1个目标造成2次攻击力30%及防御力50%的伤害,有50%概率为目标附加2回合【攻击下降】" }, - "buffid": [], + "buffid": [ + 390001006 + ], "map": "" }, { @@ -2243,7 +2269,9 @@ "key": "skill_1250012111", "text": "回合结束时获得1回合【玄御】,效果期间回合开始时攻击全体敌方,伤害为自身防御力90%。" }, - "buffid": [], + "buffid": [ + 390001210 + ], "map": "" }, { @@ -2529,7 +2557,10 @@ "key": "skill_1250013111", "text": "攻击1个敌方,伤害为自身攻击力80%及防御力100%,为自身附加2回合【防御提升】和【免疫】。" }, - "buffid": [], + "buffid": [ + 390001002, + 390001111 + ], "map": "" }, { @@ -2550,9 +2581,9 @@ "Target": 2, "ChildSkill": { "Id": [ - 225001321, + 225001311, 225001312, - 225001313 + 225001321 ] }, "Desc": { @@ -2580,9 +2611,9 @@ "Target": 2, "ChildSkill": { "Id": [ - 225001331, + 225001311, 225001312, - 225001313 + 225001331 ] }, "Desc": { @@ -2610,9 +2641,9 @@ "Target": 2, "ChildSkill": { "Id": [ - 225001331, + 225001311, 225001312, - 225001313 + 225001341 ] }, "Desc": { @@ -2640,9 +2671,9 @@ "Target": 2, "ChildSkill": { "Id": [ - 225001341, + 225001311, 225001312, - 225001313 + 225001341 ] }, "Desc": { @@ -2678,7 +2709,9 @@ "key": "skill_9250014111", "text": "回合结束时获得1回合【玄御】,效果期间回合开始时攻击全体敌方,伤害为自身防御力90%。任一技能暴击时减少此技能1回合冷却。" }, - "buffid": [], + "buffid": [ + 390001210 + ], "map": "" }, { @@ -2990,7 +3023,10 @@ "key": "skill_1440052111", "text": "攻击1个敌方4次,每次伤害为自身攻击力45%,每次有30%概率为目标附加1回合【眩晕】。" }, - "buffid": [], + "buffid": [ + 390001105, + 390001105 + ], "map": "" }, { @@ -3465,7 +3501,11 @@ "key": "skill_1350011111", "text": "攻击1个敌方,伤害为自身攻击力100%,攻击溅射随机2个敌方,伤害为自身攻击力70%。攻击前随机获得一种神力,持续1回合;神力包含【气】、【劲】、【法】。" }, - "buffid": [], + "buffid": [ + 390001119, + 390001120, + 390001121 + ], "map": "" }, { @@ -3791,7 +3831,11 @@ "key": "skill_1350013111", "text": "攻击全体敌方2次,每次伤害为自身攻击50%。攻击前获得全部神力,持续2回合;神力包含【气】、【劲】、【法】。" }, - "buffid": [], + "buffid": [ + 390001119, + 390001120, + 390001121 + ], "map": "" }, { @@ -3915,7 +3959,9 @@ "key": "skill_9350014111", "text": "攻击1个敌方,伤害为自身攻击力170%。为自身附加2回合【护盾】,护盾量为自身最大生命值10%。吸收所有神力恢复自身生命,每个神力提供自身最大生命值10%恢复量、最大生命值5%护盾量和10%额外伤害。" }, - "buffid": [], + "buffid": [ + 390001112 + ], "map": "" }, { @@ -4093,7 +4139,9 @@ "key": "skill_1240041111", "text": "攻击1个敌方,伤害为自身攻击力100%,60%概率为目标附加2回合【禁疗】" }, - "buffid": [], + "buffid": [ + 390001107 + ], "map": "" }, { @@ -4263,7 +4311,10 @@ "key": "skill_1240043111", "text": "攻击全体敌方,伤害为自身攻击力100%,为目标附加2回合【速度下降】和【中毒】。" }, - "buffid": [], + "buffid": [ + 390001008, + 390001401 + ], "map": "" }, { @@ -4471,7 +4522,9 @@ "key": "skill_9240044111", "text": "攻击时为目标附加2回合【中毒】。附加【中毒】成功时,额外附加1回合【中毒】;每回合对每个目标仅触发1次。" }, - "buffid": [], + "buffid": [ + 390001401 + ], "map": "" }, { @@ -4727,7 +4780,10 @@ "key": "skill_1440063111", "text": "驱散敌方1个目标的全部增益效果,随后对其造成攻击力230%的伤害,同时自身受到此伤害30%的效果附加伤害,但是自身不会因为该伤害死亡。自身获得【攻击提升】【暴击提升】效果,持续3回合" }, - "buffid": [], + "buffid": [ + 390001001, + 390001004 + ], "map": "" }, { @@ -4923,7 +4979,10 @@ "key": "skill_9440064111", "text": "驱散敌方1个目标的全部增益效果,随后对其造成攻击力270%的伤害,同时自身受到此伤害30%的效果附加伤害,但是自身不会因为该伤害死亡。成功击杀敌人时,自身获得【攻击提升】【暴击提升】效果,持续3回合" }, - "buffid": [], + "buffid": [ + 390001001, + 390001004 + ], "map": "" }, { @@ -5335,7 +5394,9 @@ "key": "skill_1150053111", "text": "提升全体友方20%行动值。治疗全体友方,治疗量为目标最大生命值35%。净化全体友方各1个减益,为无减益的目标附加1回合【免疫】。" }, - "buffid": [], + "buffid": [ + 390001111 + ], "map": "" }, { @@ -6521,7 +6582,9 @@ "key": "skill_1140071111", "text": "攻击1个敌方,伤害为自身攻击力30%及防御力50%,50%概率为目标附加2回合【防御下降】。" }, - "buffid": [], + "buffid": [ + 390001007 + ], "map": "" }, { @@ -6690,7 +6753,9 @@ "key": "skill_1140072111", "text": "受到致命伤害时,为自身附加1回合【对峙】,重置旋风霹雳舞冷却,目标防御比自身低时,自身伤害提升;每1%差值提供1%额外伤害,不超过40%。" }, - "buffid": [], + "buffid": [ + 390001104 + ], "map": "" }, { @@ -6779,7 +6844,9 @@ "key": "skill_1140073111", "text": "攻击全体敌方,伤害为自身防御力80%,30%概率为目标附加1回合【挑衅】;目标防御比自身低时,概率翻倍。" }, - "buffid": [], + "buffid": [ + 390001110 + ], "map": "" }, { @@ -7131,7 +7198,10 @@ "key": "skill_1140032111", "text": "攻击1个敌方,伤害为自身攻击150%,80%概率为目标附加2回合【速度下降】。暴击时为自身附加2回合【速度提升】。每点速度提供攻击0.33%。" }, - "buffid": [], + "buffid": [ + 390001008, + 390001003 + ], "map": "" }, { @@ -7471,7 +7541,9 @@ "key": "skill_1450032111", "text": "自身死亡时,以15%最大生命值的状态复活全部已阵亡的队友,并为我方全体施加其最大生命值50%的【护盾】,持续1回合。随后提升我方全体目标50%的行动值。该被动效果一场战斗仅能触发一次" }, - "buffid": [], + "buffid": [ + 390001112 + ], "map": "" }, { @@ -7501,7 +7573,9 @@ "key": "skill_1450033111", "text": "净化己方全部减益状态,并为己方全体目标回复35%最大生命值的生命,随后施加1回合【免疫】效果" }, - "buffid": [], + "buffid": [ + 390001111 + ], "map": "" }, { @@ -7586,7 +7660,9 @@ "key": "skill_1530013111", "text": "对敌方全体发起3段攻击,每段攻击可造成攻击力的伤害,并附加3回合【速度下降】状态。" }, - "buffid": [], + "buffid": [ + 390001008 + ], "map": "" }, { @@ -7759,7 +7835,9 @@ "key": "skill_1510022111", "text": "对敌方一个目标发起攻击,造成攻击力120%的伤害。并有50%概率附加2回合【防御下降】状态。" }, - "buffid": [], + "buffid": [ + 390001007 + ], "map": "" }, { @@ -7815,7 +7893,9 @@ "key": "skill_1510032111", "text": "对敌方一个目标发起攻击,造成攻击力120%的伤害。并有25%概率附加1回合【眩晕】状态。" }, - "buffid": [], + "buffid": [ + 390001105 + ], "map": "" }, { @@ -7928,7 +8008,7 @@ "text": "对敌方1个目标发起攻击,造成攻击力180%的伤害,并附加2回合【攻击下降】状态。" }, "buffid": [], - "map": "" + "map": "390001006" }, { "id": 113003011, @@ -8421,7 +8501,9 @@ "key": "skill_1140011111", "text": "史图依克对敌方1个目标造成攻击力30%以及防御力65%的伤害,并有60%概率附加2回合【防御下降】效果。" }, - "buffid": [], + "buffid": [ + 390001007 + ], "map": "" }, { @@ -8450,7 +8532,9 @@ "key": "skill_1140012111", "text": "史图依克每次受到攻击时,自身获得1层【酋长之怒】,每层可提升自身10%的基础防御力和5%的效果抵抗,最多可叠加10层。自身获得10层【酋长之怒】时将立即获得回合" }, - "buffid": [], + "buffid": [ + 390001202 + ], "map": "" }, { @@ -8481,7 +8565,10 @@ "key": "skill_1140013111", "text": "史图依克对敌方1个目标造成攻击力80%以及防御力120%的伤害,并【挑衅】1名敌人2回合。若有10层【酋长之怒】,伤害提升50%。恢复自身生命,每层【酋长之怒】提供自身最大生命值4%恢复量;之后消耗全部【酋长之怒】" }, - "buffid": [], + "buffid": [ + 390001202, + 390001110 + ], "map": "" }, { @@ -8538,7 +8625,9 @@ "key": "skill_1240081111", "text": "暴芙那特对敌方1个目标造成2次自身攻击力60%的伤害,并有40%概率附加2回合【烙印】效果。若某英雄在场,则本次攻击额外附加目标最大生命值5%的伤害,但最高无法超过自身攻击力的60%。" }, - "buffid": [], + "buffid": [ + 390001101 + ], "map": "" }, { @@ -8567,7 +8656,9 @@ "key": "skill_1240082111", "text": "暴芙那特对敌方全体造成2次自身攻击力45%的伤害,并有40%概率附加2回合【速度下降】效果。若某英雄在场,则本次攻击额外造成两段伤害并附加同样效果" }, - "buffid": [], + "buffid": [ + 390001008 + ], "map": "" }, { @@ -8597,7 +8688,10 @@ "key": "skill_1240083111", "text": "暴芙那特先为自身施加2回合【暴击提升】效果,之后对敌方1个目标造成3次自身攻击力80%的伤害,并附加2回合【防御下降】效果" }, - "buffid": [], + "buffid": [ + 390001004, + 390001007 + ], "map": "" }, { @@ -8652,7 +8746,7 @@ }, "Desc": { "key": "skill_1340081111", - "text": "悍夫那特对敌方一个目标造成1次自身攻击力100%的伤害,并有40%概率鸡腿目标10%行动值。若某英雄在场,则本次攻击额外随机攻击2个目标,造成同样伤害和效果" + "text": "悍夫那特对敌方一个目标造成1次自身攻击力100%的伤害,并有40%概率击退目标10%行动值。若某英雄在场,则本次攻击额外随机攻击2个目标,造成同样伤害和效果" }, "buffid": [], "map": "" @@ -9111,7 +9205,10 @@ "key": "skill_1350062111", "text": "平先生为我方全体附加2回合【攻击提升】和【速度提升】效果。" }, - "buffid": [], + "buffid": [ + 390001001, + 390001003 + ], "map": "" }, { @@ -9310,7 +9407,9 @@ "key": "skill_1240051111", "text": "金猴对敌方1个目标造成攻击力120%的伤害,并有70%概率对自身附加2回合【速度提升】" }, - "buffid": [], + "buffid": [ + 390001003 + ], "map": "" }, { @@ -9338,7 +9437,9 @@ "key": "skill_1240052111", "text": "金猴净化1名队友所有减益状态,并为其标记2回合【不败金身】" }, - "buffid": [], + "buffid": [ + 390001215 + ], "map": "" }, { @@ -9368,7 +9469,9 @@ "key": "skill_1240053111", "text": "金猴对敌方全体造成攻击力120%的伤害,并附加2回合【速度下降】状态;同时能减少敌方全体30%行动值,并重置2技能的冷却时间" }, - "buffid": [], + "buffid": [ + 390001008 + ], "map": "" }, { @@ -10047,7 +10150,9 @@ "key": "skill_1340071111", "text": "菲奥娜对敌方1个目标造成2次攻击力60%的伤害,若发生暴击,则为自身附加1回合【免疫】状态" }, - "buffid": [], + "buffid": [ + 390001111 + ], "map": "" }, { @@ -10077,7 +10182,9 @@ "key": "skill_1340072111", "text": "菲奥娜对敌方1个目标发起3连击,共造成攻击力200%的伤害,每次攻击有60%概率驱散目标1个增益状态;若驱散成功,则对目标附加2回合【攻击下降】状态" }, - "buffid": [], + "buffid": [ + 390001006 + ], "map": "" }, { @@ -10106,7 +10213,9 @@ "key": "skill_1340073111", "text": "菲奥娜对敌方1个目标造成攻击力280%的伤害,并为自身附加2回合生命值上限35%的【护盾】;若发生暴击,则次数伤害提升30%,并额外提升50%【护盾】" }, - "buffid": [], + "buffid": [ + 390001112 + ], "map": "" }, { @@ -10134,7 +10243,9 @@ "key": "skill_1430061111", "text": "布里奇特对敌方1个目标造成攻击力130%的伤害,并有70%概率为目标附加2回合【攻击下降】状态" }, - "buffid": [], + "buffid": [ + 390001006 + ], "map": "" }, { @@ -15169,7 +15280,9 @@ "key": "skill_1440022111", "text": "蛇先生我方全体回复各自最大生命在10%的生命和自身攻击力80%的生命,并附加1回合【复苏】状态。" }, - "buffid": [], + "buffid": [ + 390001127 + ], "map": "" }, { @@ -15197,7 +15310,9 @@ "key": "skill_1440023111", "text": "蛇先生己方全体提升25%行动值,并施加【伪装】。己方每个【伪装】的触发,都会为自身提升20%的行动值。" }, - "buffid": [], + "buffid": [ + 390001436 + ], "map": "" }, { diff --git a/bin/json/game_skillbuff.json b/bin/json/game_skillbuff.json index c59822aad..2d3963ce6 100644 --- a/bin/json/game_skillbuff.json +++ b/bin/json/game_skillbuff.json @@ -476,7 +476,7 @@ "SameID": false, "golbalbufficon": "", "buffIcon": "ty_zd_buff_j008", - "buffeffect": "effect_jiaoxia_jiaobing", + "buffeffect": "effect_buff_bingdong", "buffpos": "脚底" }, { @@ -3179,7 +3179,7 @@ "Id": 390001436, "Name": { "key": "skill_buff_390001436", - "text": "伪装(减伤)" + "text": "伪装" }, "Desc": { "key": "skill_buffdes_390001436", diff --git a/modules/parkour/configure.go b/modules/parkour/configure.go index c2b72fe44..1488b9cab 100644 --- a/modules/parkour/configure.go +++ b/modules/parkour/configure.go @@ -52,7 +52,7 @@ func (this *configureComp) isopen() (open bool) { return } else { for _, v := range config.GetDataList() { - if currtime >= v.Stime && currtime < v.Etime { + if currtime >= fmt.Sprintf("%d:%d", v.Shtime, v.Smtime) && currtime < fmt.Sprintf("%d:%d", v.Ehtime, v.Emtime) { open = true return } diff --git a/sys/configure/structs/Game.BuzkashiFm.go b/sys/configure/structs/Game.BuzkashiFm.go new file mode 100644 index 000000000..828a9568a --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiFm.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameBuzkashiFm struct { + _dataMap map[int32]*GameBuzkashiFmData + _dataList []*GameBuzkashiFmData +} + +func NewGameBuzkashiFm(_buf []map[string]interface{}) (*GameBuzkashiFm, error) { + _dataList := make([]*GameBuzkashiFmData, 0, len(_buf)) + dataMap := make(map[int32]*GameBuzkashiFmData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameBuzkashiFmData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Num] = _v + } + } + return &GameBuzkashiFm{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameBuzkashiFm) GetDataMap() map[int32]*GameBuzkashiFmData { + return table._dataMap +} + +func (table *GameBuzkashiFm) GetDataList() []*GameBuzkashiFmData { + return table._dataList +} + +func (table *GameBuzkashiFm) Get(key int32) *GameBuzkashiFmData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.BuzkashiFmData.go b/sys/configure/structs/Game.BuzkashiFmData.go new file mode 100644 index 000000000..d4270f2be --- /dev/null +++ b/sys/configure/structs/Game.BuzkashiFmData.go @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameBuzkashiFmData struct { + Num int32 + Type int32 + Stime string + Broadcast string + Icon string +} + +const TypeId_GameBuzkashiFmData = -1288548636 + +func (*GameBuzkashiFmData) GetTypeId() int32 { + return -1288548636 +} + +func (_v *GameBuzkashiFmData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; if _v.Stime, _ok_ = _buf["stime"].(string); !_ok_ { err = errors.New("stime error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["broadcast"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Broadcast error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Broadcast, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } } + return +} + +func DeserializeGameBuzkashiFmData(_buf map[string]interface{}) (*GameBuzkashiFmData, error) { + v := &GameBuzkashiFmData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.FavorabilityData.go b/sys/configure/structs/Game.FavorabilityData.go index bae6ca2f1..1b5549207 100644 --- a/sys/configure/structs/Game.FavorabilityData.go +++ b/sys/configure/structs/Game.FavorabilityData.go @@ -21,8 +21,8 @@ type GameFavorabilityData struct { PrivilegeValue int32 ReturnReward []*Gameatn ReturnTxt string - LikesFood []int32 - DislikingFood []int32 + LikesFood []string + DislikingFood []string LikesTxt string OrdinaryTxt string DislikingTxt string @@ -74,11 +74,11 @@ func (_v *GameFavorabilityData)Deserialize(_buf map[string]interface{}) (err err var _ok_ bool if _arr_, _ok_ = _buf["likes_food"].([]interface{}); !_ok_ { err = errors.New("likes_food error"); return } - _v.LikesFood = make([]int32, 0, len(_arr_)) + _v.LikesFood = make([]string, 0, len(_arr_)) for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + var _list_v_ string + { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } _v.LikesFood = append(_v.LikesFood, _list_v_) } } @@ -88,11 +88,11 @@ func (_v *GameFavorabilityData)Deserialize(_buf map[string]interface{}) (err err var _ok_ bool if _arr_, _ok_ = _buf["disliking_food"].([]interface{}); !_ok_ { err = errors.New("disliking_food error"); return } - _v.DislikingFood = make([]int32, 0, len(_arr_)) + _v.DislikingFood = make([]string, 0, len(_arr_)) for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + var _list_v_ string + { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } _v.DislikingFood = append(_v.DislikingFood, _list_v_) } } diff --git a/sys/configure/structs/Game.buzkashiOpenData.go b/sys/configure/structs/Game.buzkashiOpenData.go index 980b5a756..3189a64c2 100644 --- a/sys/configure/structs/Game.buzkashiOpenData.go +++ b/sys/configure/structs/Game.buzkashiOpenData.go @@ -12,8 +12,10 @@ import "errors" type GamebuzkashiOpenData struct { Num int32 - Stime string - Etime string + Shtime int32 + Smtime int32 + Ehtime int32 + Emtime int32 } const TypeId_GamebuzkashiOpenData = 1621393927 @@ -24,8 +26,10 @@ func (*GamebuzkashiOpenData) GetTypeId() int32 { func (_v *GamebuzkashiOpenData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) } - { var _ok_ bool; if _v.Stime, _ok_ = _buf["stime"].(string); !_ok_ { err = errors.New("stime error"); return } } - { var _ok_ bool; if _v.Etime, _ok_ = _buf["etime"].(string); !_ok_ { err = errors.New("etime error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["shtime"].(float64); !_ok_ { err = errors.New("shtime error"); return }; _v.Shtime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["smtime"].(float64); !_ok_ { err = errors.New("smtime error"); return }; _v.Smtime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ehtime"].(float64); !_ok_ { err = errors.New("ehtime error"); return }; _v.Ehtime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["emtime"].(float64); !_ok_ { err = errors.New("emtime error"); return }; _v.Emtime = int32(_tempNum_) } return } diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index abe7c23b7..a2c92e40d 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -194,6 +194,7 @@ type Tables struct { BuzkashiLv *GameBuzkashiLv BuzkashiGrade *GameBuzkashiGrade BuzkashiReward *GameBuzkashiReward + BuzkashiFm *GameBuzkashiFm buzkashiOpen *GamebuzkashiOpen } @@ -1300,6 +1301,12 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil { return nil, err } + if buf, err = loader("game_buzkashifm") ; err != nil { + return nil, err + } + if tables.BuzkashiFm, err = NewGameBuzkashiFm(buf) ; err != nil { + return nil, err + } if buf, err = loader("game_buzkashiopen") ; err != nil { return nil, err } diff --git a/sys/configure/structs/game.modelData.go b/sys/configure/structs/game.modelData.go index 633f8ba0c..8d2478052 100644 --- a/sys/configure/structs/game.modelData.go +++ b/sys/configure/structs/game.modelData.go @@ -27,6 +27,8 @@ type GameModelData struct { Bust string Postxyz []float32 Rotation serialization.Vector3 + BoxPos serialization.Vector3 + BoxSize serialization.Vector3 } const TypeId_GameModelData = -305436809 @@ -71,6 +73,22 @@ func (_v *GameModelData)Deserialize(_buf map[string]interface{}) (err error) { _v.Rotation = serialization.NewVector3(_x_, _y_, _z_) } + { var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["boxPos"].(map[string]interface{}); !_ok_ { err = errors.New("boxPos error"); return } + var _x_, _y_, _z_ float32; + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) } + _v.BoxPos = serialization.NewVector3(_x_, _y_, _z_) + } + + { var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["boxSize"].(map[string]interface{}); !_ok_ { err = errors.New("boxSize error"); return } + var _x_, _y_, _z_ float32; + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) } + _v.BoxSize = serialization.NewVector3(_x_, _y_, _z_) + } + return } From 2ff92487cf513d980124f84c7fe3db1e6bb88e31 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 21 Apr 2023 19:03:50 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8D=95=E7=BE=8A?= =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/parkour/ai.go | 5 +- modules/parkour/module.go | 103 +++++++++++++++++++++++++++++++++--- pb/parkour_msg.pb.go | 108 +++++++++++++++++++++++--------------- 3 files changed, 164 insertions(+), 52 deletions(-) diff --git a/modules/parkour/ai.go b/modules/parkour/ai.go index a48528ec4..15fd16a6f 100644 --- a/modules/parkour/ai.go +++ b/modules/parkour/ai.go @@ -150,13 +150,13 @@ func (this *aiComp) createAi(battleid string, users []*pb.DBRaceMember) (err err } break case AILevelSS: - ais[i].Interval = time.Second*5 + time.Second*time.Duration(rand.Int31n(5)) + ais[i].Interval = time.Second*7 + time.Second*time.Duration(rand.Int31n(5)) for ii, vv := range r.Perm(len(this.handleSS)) { ais[i].Handle[ii] = this.handleSS[vv] } break case AILevelSSS: - ais[i].Interval = time.Second*3 + time.Second*time.Duration(rand.Int31n(3)) + ais[i].Interval = time.Second*5 + time.Second*time.Duration(rand.Int31n(3)) for ii, vv := range r.Perm(len(this.handleSSS)) { ais[i].Handle[ii] = this.handleSSS[vv] } @@ -210,6 +210,7 @@ func (this *aiComp) aihandle(task *timewheel.Task, args ...interface{}) { go this.module.shot(id, ai.UId) break } + ai.LastTime = time.Now() ai.CurrIndex++ ai.CurrIndex = ai.CurrIndex % int32(len(ai.Handle)) } diff --git a/modules/parkour/module.go b/modules/parkour/module.go index e1d754d5f..6d43e274b 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -210,6 +210,7 @@ func (this *Parkour) shot(id string, uid string) { this.Debug("shot", log.Field{Key: "id", Value: id}) var ( battle *RaceItem + side int32 ok bool sessions []comm.IUserSession = make([]comm.IUserSession, 0) err error @@ -218,13 +219,34 @@ func (this *Parkour) shot(id string, uid string) { battle, ok = this.battles[id] this.lock.RUnlock() if ok { + for _, v := range battle.RedMember { + if v.Uid == uid { + ok = true + side = 1 + } + } + if !ok { + for _, v := range battle.BuleMember { + if v.Uid == uid { + ok = true + side = 2 + } + } + } + if side == 1 { + battle.RedScore += 3 + } else { + battle.BuleScore += 3 + } for _, v := range battle.Session { sessions = append(sessions, v) } if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{ - Red: battle.RedScore, - Blue: battle.BuleScore, + Redscore: battle.RedScore, + Redenergy: battle.RedEnergy, + Bluescore: battle.BuleScore, + Blueenergy: battle.BuleEnergy, }, sessions...); err != nil { this.Errorln(err) } @@ -236,6 +258,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { var ( battle *RaceItem ok bool + side int32 member *pb.DBRaceMember sessions []comm.IUserSession = make([]comm.IUserSession, 0) err error @@ -249,6 +272,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { if v.Uid == uid { member = v ok = true + side = 1 } } if !ok { @@ -256,6 +280,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { if v.Uid == uid { member = v ok = true + side = 2 } } } @@ -263,16 +288,32 @@ func (this *Parkour) avoid(id string, uid string, dis int32) { this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid}) return } - if dis < 0 { - member.Hp-- - } else { - - } for _, v := range battle.Session { sessions = append(sessions, v) } + if dis < 0 { + member.Hp-- + if member.Hp < 0 { + // timewheel.Add(time.Second*10, this.resurrectiontimer, battle.Id, member.Uid) + } + } else { + if side == 1 { + battle.RedEnergy += 3 + } else { + battle.BuleEnergy += 3 + } + if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourScoreChanagePush{ + Redscore: battle.RedScore, + Redenergy: battle.RedEnergy, + Bluescore: battle.BuleScore, + Blueenergy: battle.BuleEnergy, + }, sessions...); err != nil { + this.Errorln(err) + } + } + if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{ Uid: uid, Hp: member.Hp, @@ -549,3 +590,51 @@ func (this *Parkour) trusteeship(ctx context.Context, req *pb.RPC_ParkourTrustee } return } + +func (this *Parkour) resurrectiontimer(task *timewheel.Task, args ...interface{}) { + var ( + battleid string + uid string + battle *RaceItem + member *pb.DBRaceMember + sessions []comm.IUserSession = make([]comm.IUserSession, 0) + ok bool + err error + ) + + battleid = args[0].(string) + uid = args[1].(string) + this.lock.RLock() + battle, ok = this.battles[battleid] + this.lock.RUnlock() + if ok { + ok = false + for _, v := range battle.RedMember { + if v.Uid == uid { + member = v + ok = true + } + } + if !ok { + for _, v := range battle.BuleMember { + if v.Uid == uid { + member = v + ok = true + } + } + } + + if ok { + member.Hp = 2 + for _, v := range battle.Session { + sessions = append(sessions, v) + } + if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{ + Uid: uid, + Hp: member.Hp, + }, sessions...); err != nil { + this.Errorln(err) + } + } + } +} diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go index caed7dcff..17393fef5 100644 --- a/pb/parkour_msg.pb.go +++ b/pb/parkour_msg.pb.go @@ -227,7 +227,7 @@ func (x *ParkourChangeMtsResp) GetMtsid() string { return "" } -//推送捕羊大赛用户信息改变 +// //推送捕羊大赛用户信息改变 type ParkourInfoChangePush struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1553,8 +1553,10 @@ type ParkourScoreChanagePush struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Red int32 `protobuf:"varint,1,opt,name=red,proto3" json:"red"` - Blue int32 `protobuf:"varint,2,opt,name=blue,proto3" json:"blue"` + Redscore int32 `protobuf:"varint,1,opt,name=redscore,proto3" json:"redscore"` + Redenergy int32 `protobuf:"varint,2,opt,name=redenergy,proto3" json:"redenergy"` + Bluescore int32 `protobuf:"varint,3,opt,name=bluescore,proto3" json:"bluescore"` + Blueenergy int32 `protobuf:"varint,4,opt,name=blueenergy,proto3" json:"blueenergy"` } func (x *ParkourScoreChanagePush) Reset() { @@ -1589,16 +1591,30 @@ func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) { return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32} } -func (x *ParkourScoreChanagePush) GetRed() int32 { +func (x *ParkourScoreChanagePush) GetRedscore() int32 { if x != nil { - return x.Red + return x.Redscore } return 0 } -func (x *ParkourScoreChanagePush) GetBlue() int32 { +func (x *ParkourScoreChanagePush) GetRedenergy() int32 { if x != nil { - return x.Blue + return x.Redenergy + } + return 0 +} + +func (x *ParkourScoreChanagePush) GetBluescore() int32 { + if x != nil { + return x.Bluescore + } + return 0 +} + +func (x *ParkourScoreChanagePush) GetBlueenergy() int32 { + if x != nil { + return x.Blueenergy } return 0 } @@ -2129,42 +2145,48 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{ 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, 0x13, 0x50, 0x61, - 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, - 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, - 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, - 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, - 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, - 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, - 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, - 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, - 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, - 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, - 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x50, 0x61, + 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, + 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x2f, 0x0a, + 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, + 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, + 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, + 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a, + 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, + 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, + 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, + 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, + 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, + 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var (