This commit is contained in:
meixiongfeng 2023-09-01 11:20:34 +08:00
commit 3f3a8e6ccc
22 changed files with 3763 additions and 313 deletions

View File

@ -1,77 +1,263 @@
[ [
{ {
"id": "20030001", "id": "20030001",
"type": 1,
"name": { "name": {
"key": "", "key": "buzkashi_Mount_name_1",
"text": "" "text": "测试名称1"
}, },
"intr": { "intr": {
"key": "", "key": "buzkashi_Mount_intr_1",
"text": "" "text": "测试描述1"
}, },
"Color": 1, "Color": 1,
"Img": "", "Img": "by_img_tx",
"access": [ "access": [
107 107
], ],
"model": "", "model": "20030001_3",
"point": "", "point": "",
"stime": 20, "stime": 20,
"etime": 80, "etime": 0,
"hp": 7, "hp": 7,
"moderate": 10, "moderate": 10,
"sprint": 200, "sprint": 200,
"acceleration": 100, "acceleration": 100,
"deceleration": 100 "deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030001",
"type": 2,
"name": {
"key": "buzkashi_Mount_name_2",
"text": "测试名称2"
},
"intr": {
"key": "buzkashi_Mount_intr_2",
"text": "测试描述2"
},
"Color": 1,
"Img": "by_img_tx",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 0,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030001",
"type": 3,
"name": {
"key": "buzkashi_Mount_name_3",
"text": "测试名称3"
},
"intr": {
"key": "buzkashi_Mount_intr_3",
"text": "测试描述3"
},
"Color": 1,
"Img": "by_img_tx",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 40,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 10,
"csubtime": 10
}, },
{ {
"id": "20030002", "id": "20030002",
"type": 1,
"name": { "name": {
"key": "", "key": "buzkashi_Mount_name_4",
"text": "" "text": "测试名称4"
}, },
"intr": { "intr": {
"key": "", "key": "buzkashi_Mount_intr_4",
"text": "" "text": "测试描述4"
}, },
"Color": 1, "Color": 1,
"Img": "", "Img": "by_img_tx2",
"access": [ "access": [
107 107
], ],
"model": "", "model": "20030001_3",
"point": "", "point": "",
"stime": 20, "stime": 20,
"etime": 80, "etime": 0,
"hp": 7, "hp": 7,
"moderate": 10, "moderate": 10,
"sprint": 200, "sprint": 200,
"acceleration": 100, "acceleration": 100,
"deceleration": 100 "deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030002",
"type": 2,
"name": {
"key": "buzkashi_Mount_name_5",
"text": "测试名称5"
},
"intr": {
"key": "buzkashi_Mount_intr_5",
"text": "测试描述5"
},
"Color": 1,
"Img": "by_img_tx2",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 0,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030002",
"type": 3,
"name": {
"key": "buzkashi_Mount_name_6",
"text": "测试名称6"
},
"intr": {
"key": "buzkashi_Mount_intr_6",
"text": "测试描述6"
},
"Color": 1,
"Img": "by_img_tx2",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 0,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
}, },
{ {
"id": "20030003", "id": "20030003",
"type": 1,
"name": { "name": {
"key": "", "key": "buzkashi_Mount_name_7",
"text": "" "text": "测试名称7"
}, },
"intr": { "intr": {
"key": "", "key": "buzkashi_Mount_intr_7",
"text": "" "text": "测试描述7"
}, },
"Color": 1, "Color": 1,
"Img": "", "Img": "by_img_tx3",
"access": [ "access": [
107 107
], ],
"model": "", "model": "20030001_3",
"point": "", "point": "",
"stime": 20, "stime": 20,
"etime": 80, "etime": 0,
"hp": 7, "hp": 7,
"moderate": 10, "moderate": 10,
"sprint": 200, "sprint": 200,
"acceleration": 100, "acceleration": 100,
"deceleration": 100 "deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030003",
"type": 2,
"name": {
"key": "buzkashi_Mount_name_8",
"text": "测试名称8"
},
"intr": {
"key": "buzkashi_Mount_intr_8",
"text": "测试描述8"
},
"Color": 1,
"Img": "by_img_tx3",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 0,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
},
{
"id": "20030003",
"type": 3,
"name": {
"key": "buzkashi_Mount_name_9",
"text": "测试名称9"
},
"intr": {
"key": "buzkashi_Mount_intr_9",
"text": "测试描述9"
},
"Color": 1,
"Img": "by_img_tx3",
"access": [
107
],
"model": "20030001_3",
"point": "",
"stime": 20,
"etime": 0,
"hp": 7,
"moderate": 10,
"sprint": 200,
"acceleration": 100,
"deceleration": 100,
"itemsprint": 100,
"caddtime": 0,
"csubtime": 0
} }
] ]

2642
bin/json/game_mainboss.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,94 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) BoosChallengeCheck(session comm.IUserSession, req *pb.MainlineBoosChallengeReq) (errdata *pb.ErrorData) {
if req.Boosid == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
// /挑战主线关卡
func (this *apiComp) BoosChallenge(session comm.IUserSession, req *pb.MainlineBoosChallengeReq) (errdata *pb.ErrorData) {
var (
info *pb.DBMainline // 当前章节信息
conf *cfg.GameMainBossData // 当前章节数据
err error
)
if errdata = this.BoosChallengeCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
}
if conf, err = this.module.configure.getGameMainBossData(req.Boosid); err != nil { // 配置文件校验
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(),
Message: err.Error(),
}
return
}
if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
//不是当前章节
if conf.MonsterChapter != info.Currbooschapter {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: "boos is no Currbooschapter",
}
return
}
//未解锁
if info.Chapterboos[conf.MonsterChapter]+1 < conf.MonsterStrength {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: "boos is unlock",
}
return
}
errdata, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Rulesid: conf.Battlereadyid,
Ptype: pb.PlayType_mainline,
Title: "",
Format: req.Battle,
Mformat: conf.FormatList,
})
if errdata != nil {
return
}
session.SendMsg(string(this.module.GetType()), "challenge", &pb.MainlineBoosChallengeResp{
Info: &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Rulesid: conf.Battlereadyid,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
Tasks: record.Tasks,
},
Boosid: req.Boosid,
})
return
}

View File

@ -0,0 +1,90 @@
package mainline
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) BoosChallengeOverCheck(session comm.IUserSession, req *pb.MainlineBoosChallengeOverReq) (errdata *pb.ErrorData) {
if req.Boosid == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
return
}
// /挑战主线关卡
func (this *apiComp) BoosChallengeOver(session comm.IUserSession, req *pb.MainlineBoosChallengeOverReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GameMainBossData
info *pb.DBMainline
aeward []*pb.UserAtno = make([]*pb.UserAtno, 0)
isWin bool
err error
)
if errdata = this.BoosChallengeOverCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
}
if conf, err = this.module.configure.getGameMainBossData(req.Boosid); err != nil { // 配置文件校验
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineNotFindChapter,
Title: pb.ErrorCode_MainlineNotFindChapter.ToString(),
Message: err.Error(),
}
return
}
if info, err = this.module.modelMline.getMainlineData(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
// 校验通过
errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report)
if errdata != nil {
return
}
if !isWin { // 战斗失败返还扣除的体力
errdata = &pb.ErrorData{
Code: pb.ErrorCode_BattleValidationFailed,
Title: pb.ErrorCode_BattleValidationFailed.ToString(),
Message: "battle is defeated",
}
return
}
if errdata, aeward = this.module.DispenseAtno(session, conf.Reward, true); errdata != nil {
this.module.Debugf("Mline Boos DispenseRes err:+%v", conf.Reward)
return
}
info.Chapterboos[conf.MonsterChapter] = conf.MonsterStrength
info.Currbooschallengenum++
if err = this.module.modelMline.Change(session.GetUserId(), map[string]interface{}{
"chapterboos": info.Chapterboos,
"currbooschallengenum": info.Currbooschallengenum,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "booschallengeover", &pb.MainlineBoosChallengeOverResp{
Boosid: req.Boosid,
Reward: aeward,
})
return
}

View File

@ -117,32 +117,22 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh
if first { // 发奖 if first { // 发奖
if errdata, atno = this.module.DispenseAtno(session, conf.Firstaward, true); errdata != nil { if errdata, atno = this.module.DispenseAtno(session, conf.Firstaward, true); errdata != nil {
this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward) this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward)
return
} }
aeward = append(aeward, atno...) aeward = append(aeward, atno...)
// for _, v := range conf.Firstaward {
// aeward = append(aeward, &pb.UserAssets{
// A: v.A,
// T: v.T,
// N: v.N,
// })
// }
} else { } else {
if errdata, atno = this.module.DispenseAtno(session, conf.Commonaward, true); errdata != nil { if errdata, atno = this.module.DispenseAtno(session, conf.Commonaward, true); errdata != nil {
this.module.Debugf("Mline Commonaward DispenseRes err:+%v", conf.Commonaward) this.module.Debugf("Mline Commonaward DispenseRes err:+%v", conf.Commonaward)
return
} }
aeward = append(aeward, atno...) aeward = append(aeward, atno...)
// for _, v := range conf.Commonaward {
// aeward = append(aeward, &pb.UserAssets{
// A: v.A,
// T: v.T,
// N: v.N,
// })
// }
} }
user := this.module.ModuleUser.GetUser(session.GetUserId()) user := this.module.ModuleUser.GetUser(session.GetUserId())
if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(conf.Lotteryward, user.Vip, user.Lv); len(lotteryward) > 0 { if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(conf.Lotteryward, user.Vip, user.Lv); len(lotteryward) > 0 {
if errdata, atno = this.module.DispenseAtno(session, lotteryward, true); errdata != nil { if errdata, atno = this.module.DispenseAtno(session, lotteryward, true); errdata != nil {
this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward) this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
return
} }
aeward = append(aeward, atno...) aeward = append(aeward, atno...)
} }

View File

@ -3,6 +3,7 @@ package mainline
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/utils"
) )
// 参数校验 // 参数校验
@ -34,6 +35,26 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.MainlineInfoReq) (e
} }
return return
} }
if !utils.IsToday(info.Lastboosrefresh) { //不是同一天
if err = this.module.modelMline.randomboos(info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if err = this.module.modelMline.Change(session.GetUserId(), map[string]interface{}{
"currbooschapter": info.Currbooschapter,
"lastboosrefresh": info.Lastboosrefresh,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
}
}
tasks = this.module.configure.getChapteTasks() tasks = this.module.configure.getChapteTasks()
condiIds = make([]int32, 0, len(tasks)) condiIds = make([]int32, 0, len(tasks))

View File

@ -9,13 +9,13 @@ import (
"sync" "sync"
) )
const moduleName = "mline"
const ( const (
game_mainchapter = "game_mainchapter.json" game_mainchapter = "game_mainchapter.json"
game_mainstage = "game_mainstage.json" game_mainstage = "game_mainstage.json"
game_mainstarreward = "game_mainstarreward.json" game_mainstarreward = "game_mainstarreward.json"
game_mainshopitem = "game_mainshopitem.json" game_mainshopitem = "game_mainshopitem.json"
game_mainachievement = "game_mainachievement.json" game_mainachievement = "game_mainachievement.json"
game_mainboos = "game_mainboss.json"
) )
// /配置管理基础组件 // /配置管理基础组件
@ -39,6 +39,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
game_mainchapter: cfg.NewGameMainChapter, game_mainchapter: cfg.NewGameMainChapter,
game_mainshopitem: cfg.NewGameMainShopItem, game_mainshopitem: cfg.NewGameMainShopItem,
game_mainboos: cfg.NewGameMainBoss,
}) })
this.chapterMap = make(map[int32][]*cfg.GameMainStageData) this.chapterMap = make(map[int32][]*cfg.GameMainStageData)
configure.RegisterConfigure(game_mainstage, cfg.NewGameMainStage, this.updateMlineStage) configure.RegisterConfigure(game_mainstage, cfg.NewGameMainStage, this.updateMlineStage)
@ -156,7 +157,7 @@ func (this *configureComp) GetMainStageConf(id int32) (data *cfg.GameMainStageDa
} }
} }
} }
err = comm.NewNotFoundConfErr(moduleName, game_mainstage, id) err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_mainstage, id)
return return
} }
@ -183,7 +184,7 @@ func (this *configureComp) GetMlineShopConfById(cid int32) (conf *cfg.GameMainSh
} }
} }
} }
err = comm.NewNotFoundConfErr(moduleName, game_mainstage, cid) err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_mainstage, cid)
return return
} }
@ -284,3 +285,20 @@ func (this *configureComp) updateGameMainChapter() {
this.lock.Unlock() this.lock.Unlock()
return return
} }
// 获取主线boos
func (this *configureComp) getGameMainBossData(id int32) (conf *cfg.GameMainBossData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_mainboos); err != nil {
return
}
if conf, ok = v.(*cfg.GameMainBoss).GetDataMap()[id]; !ok {
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_mainboos, id)
this.module.Errorln(err)
return
}
return
}

View File

@ -8,6 +8,7 @@ import (
"go_dreamfactory/lego/sys/mgo" "go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
@ -31,7 +32,6 @@ func (this *ModelMline) Init(service core.IService, module core.IModule, comp co
return return
} }
// 获取用户全部的埋点数据
func (this *ModelMline) getMainlineData(uid string) (results *pb.DBMainline, err error) { func (this *ModelMline) getMainlineData(uid string) (results *pb.DBMainline, err error) {
results = &pb.DBMainline{} results = &pb.DBMainline{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil { if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
@ -158,3 +158,27 @@ func (this *ModelMline) checklevel(level int32, data *pb.DBMainline) (err error)
} }
return return
} }
// 随机boos
func (this *ModelMline) randomboos(data *pb.DBMainline) (err error) {
var (
chapters []int32 = make([]int32, 0)
weight []int32 = make([]int32, 0)
conf *cfg.GameMainChapterData
index int32
)
for k, _ := range data.Chapteraward {
chapters = append(chapters, k)
}
for _, v := range chapters {
if conf, err = this.module.configure.GetMainChapterConf(v); err != nil {
return
}
weight = append(weight, conf.Bosspro)
}
index = comm.GetRandW(weight)
data.Currbooschapter = chapters[index]
data.Lastboosrefresh = configure.Now().Unix()
return
}

View File

@ -3,7 +3,6 @@ package parkour
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
) )
//参数校验 //参数校验
@ -16,7 +15,6 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
var ( var (
info *pb.DBParkour info *pb.DBParkour
team *pb.DBParkour team *pb.DBParkour
mount *cfg.GameBuzkashiMountData
err error err error
) )
if errdata = this.ChangeMtsCheck(session, req); errdata != nil { if errdata = this.ChangeMtsCheck(session, req); errdata != nil {
@ -39,19 +37,11 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
} }
info.Dfmount = req.Mtsid info.Dfmount = req.Mtsid
if info.Captainid != "" { if info.Captainid != "" {
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if info.Captainid == session.GetUserId() { if info.Captainid == session.GetUserId() {
for _, v := range info.Member { for _, v := range info.Member {
if v.Uid == session.GetUserId() { if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount v.Mount = info.Dfmount
v.Maxhp = mount.Hp v.Maxhp = 10
} }
} }
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
@ -77,7 +67,7 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
for _, v := range team.Member { for _, v := range team.Member {
if v.Uid == session.GetUserId() { if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount v.Mount = info.Dfmount
v.Maxhp = mount.Hp v.Maxhp = 10
} }
} }
if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{ if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{

View File

@ -4,7 +4,6 @@ import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time" "time"
) )
@ -25,7 +24,6 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
info *pb.DBParkour info *pb.DBParkour
tinfo *pb.DBParkour tinfo *pb.DBParkour
tuser *pb.DBUser tuser *pb.DBUser
mount *cfg.GameBuzkashiMountData
member *pb.DBRaceMember member *pb.DBRaceMember
users []string users []string
ok bool ok bool
@ -64,14 +62,6 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
} }
return return
} }
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
ok = false ok = false
for _, v := range info.Member { for _, v := range info.Member {
@ -80,7 +70,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
} }
} }
if !ok { if !ok {
info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: info.Dfmount, Maxhp: mount.Hp}) info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: info.Dfmount, Maxhp: 10})
} }
if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
@ -98,18 +88,10 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
} }
return return
} }
if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
//目标是否在线 //目标是否在线
if !this.module.ModuleUser.IsOnline(req.Uid) { if !this.module.ModuleUser.IsOnline(req.Uid) {
member = &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: tinfo.Dfmount, Maxhp: mount.Hp, Isai: true} member = &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: tinfo.Dfmount, Maxhp: 10, Isai: true}
info.Captainid = session.GetUserId() info.Captainid = session.GetUserId()
info.Member = append(info.Member, member) info.Member = append(info.Member, member)
users = make([]string, len(info.Member)) users = make([]string, len(info.Member))

View File

@ -4,7 +4,6 @@ import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time" "time"
) )
@ -20,7 +19,6 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
tean *pb.DBParkour tean *pb.DBParkour
invite *pb.DBRaceInvite invite *pb.DBRaceInvite
member *pb.DBRaceMember member *pb.DBRaceMember
mount *cfg.GameBuzkashiMountData
users []string users []string
ok bool ok bool
index int32 index int32
@ -74,16 +72,8 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
for i, v := range tean.Member { for i, v := range tean.Member {
users[i] = v.Uid users[i] = v.Uid
} }
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
users = append(users, invite.Uid) users = append(users, invite.Uid)
member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Lv: invite.Lv, Mount: info.Dfmount, Maxhp: mount.Hp} member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Lv: invite.Lv, Mount: info.Dfmount, Maxhp: 10}
tean.Captainid = tean.Uid tean.Captainid = tean.Uid
tean.State = pb.RaceTeamState_teaming tean.State = pb.RaceTeamState_teaming
tean.Member = append(tean.Member, member) tean.Member = append(tean.Member, member)

View File

@ -3,7 +3,6 @@ package parkour
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
) )
//参数校验 //参数校验
@ -23,7 +22,6 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
var ( var (
info *pb.DBParkour info *pb.DBParkour
tean *pb.DBParkour tean *pb.DBParkour
mount *cfg.GameBuzkashiMountData
member *pb.DBRaceMember member *pb.DBRaceMember
users []string users []string
@ -82,15 +80,8 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
} }
if tean.Captainid == "" { if tean.Captainid == "" {
user := this.module.ModuleUser.GetUser(tean.Uid) user := this.module.ModuleUser.GetUser(tean.Uid)
if mount, err = this.module.configure.getGameBuzkashiMount(tean.Dfmount); err != nil {
errdata = &pb.ErrorData{ member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: tean.Dfmount, Maxhp: 10}
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: tean.Dfmount, Maxhp: mount.Hp}
tean.Captainid = tean.Uid tean.Captainid = tean.Uid
tean.State = pb.RaceTeamState_teaming tean.State = pb.RaceTeamState_teaming
tean.Member = append(tean.Member, member) tean.Member = append(tean.Member, member)
@ -98,16 +89,9 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam
} }
users = append(users, session.GetUserId()) users = append(users, session.GetUserId())
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
user := this.module.ModuleUser.GetUser(session.GetUserId()) user := this.module.ModuleUser.GetUser(session.GetUserId())
member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: info.Dfmount, Maxhp: mount.Hp} member = &pb.DBRaceMember{Uid: user.Uid, Name: user.Name, Avatar: user.Avatar, Lv: user.Lv, Mount: info.Dfmount, Maxhp: 10}
tean.Member = append(tean.Member, member) tean.Member = append(tean.Member, member)
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
"state": tean.State, "state": tean.State,

View File

@ -3,7 +3,6 @@ package parkour
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
) )
//参数校验 //参数校验
@ -22,7 +21,6 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
var ( var (
team *pb.DBParkour team *pb.DBParkour
tuser *pb.DBUser tuser *pb.DBUser
mount *cfg.GameBuzkashiMountData
users []string users []string
err error err error
) )
@ -54,15 +52,8 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
} }
return return
} }
if mount, err = this.module.configure.getGameBuzkashiMount(team.Dfmount); err != nil {
errdata = &pb.ErrorData{ team.Member = append(team.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: team.Dfmount, Maxhp: 10})
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
team.Member = append(team.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Lv: tuser.Lv, Mount: team.Dfmount, Maxhp: mount.Hp})
if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{ if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{
"state": team.State, "state": team.State,
"captainid": team.Captainid, "captainid": team.Captainid,

View File

@ -2,7 +2,6 @@ package parkour
import ( import (
"fmt" "fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
@ -63,25 +62,6 @@ func (this *configureComp) isopen() (open bool) {
return 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 = comm.NewNotFoundConfErr(moduleName, game_buzkashimount, id)
this.module.Errorln(err)
return
}
}
return
}
func (this *configureComp) getGameBuzkashiReward(id int32) (configure *cfg.GameBuzkashiRewardData) { func (this *configureComp) getGameBuzkashiReward(id int32) (configure *cfg.GameBuzkashiRewardData) {
if v, err := this.GetConfigure(game_buzkashireward); err == nil { if v, err := this.GetConfigure(game_buzkashireward); err == nil {
var ok bool var ok bool

View File

@ -10,7 +10,6 @@ import (
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"math/rand" "math/rand"
"sync" "sync"
@ -54,7 +53,6 @@ func (this *ModelParkourComp) Start() (err error) {
func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBRaceMember, err error) { func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBRaceMember, err error) {
var ( var (
users []*Recommend users []*Recommend
mount *cfg.GameBuzkashiMountData
ondata bool ondata bool
) )
this.lock.RLock() this.lock.RLock()
@ -84,18 +82,14 @@ func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBRaceMembe
if users[v].user = this.module.ModuleUser.GetUser(users[v].parkour.Uid); users[v].user == nil { if users[v].user = this.module.ModuleUser.GetUser(users[v].parkour.Uid); users[v].user == nil {
continue continue
} }
if mount, err = this.module.configure.getGameBuzkashiMount(users[v].parkour.Dfmount); err != nil {
err = nil
continue
}
users[v].member = &pb.DBRaceMember{ users[v].member = &pb.DBRaceMember{
Uid: users[v].user.Uid, Uid: users[v].user.Uid,
Name: users[v].user.Name, Name: users[v].user.Name,
Avatar: users[v].user.Avatar, Avatar: users[v].user.Avatar,
Lv: users[v].user.Lv, Lv: users[v].user.Lv,
Mount: users[v].parkour.Dfmount, Mount: users[v].parkour.Dfmount,
Maxhp: mount.Hp, Maxhp: 10,
Currhp: mount.Hp, Currhp: 10,
} }
} }
recommend[i] = users[v].member recommend[i] = users[v].member

View File

@ -33,6 +33,10 @@ type DBMainline struct {
Exploreaward map[int32]*DBMainlineAward `protobuf:"bytes,6,rep,name=exploreaward,proto3" json:"exploreaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励 Exploreaward map[int32]*DBMainlineAward `protobuf:"bytes,6,rep,name=exploreaward,proto3" json:"exploreaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励
Groupaward map[int32]*DBMainlineAward `protobuf:"bytes,7,rep,name=groupaward,proto3" json:"groupaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励 Groupaward map[int32]*DBMainlineAward `protobuf:"bytes,7,rep,name=groupaward,proto3" json:"groupaward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //章节探索奖励
Ps map[int32]int32 `protobuf:"bytes,8,rep,name=ps,proto3" json:"ps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 预扣的体力 Ps map[int32]int32 `protobuf:"bytes,8,rep,name=ps,proto3" json:"ps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 预扣的体力
Chapterboos map[int32]int32 `protobuf:"bytes,9,rep,name=chapterboos,proto3" json:"chapterboos" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //章节boos
Currbooschapter int32 `protobuf:"varint,10,opt,name=currbooschapter,proto3" json:"currbooschapter"` //当前boos章节
Currbooschallengenum int32 `protobuf:"varint,11,opt,name=currbooschallengenum,proto3" json:"currbooschallengenum"` //当日boos挑战次数
Lastboosrefresh int64 `protobuf:"varint,12,opt,name=lastboosrefresh,proto3" json:"lastboosrefresh"` //上一次boos刷新时间
} }
func (x *DBMainline) Reset() { func (x *DBMainline) Reset() {
@ -123,6 +127,34 @@ func (x *DBMainline) GetPs() map[int32]int32 {
return nil return nil
} }
func (x *DBMainline) GetChapterboos() map[int32]int32 {
if x != nil {
return x.Chapterboos
}
return nil
}
func (x *DBMainline) GetCurrbooschapter() int32 {
if x != nil {
return x.Currbooschapter
}
return 0
}
func (x *DBMainline) GetCurrbooschallengenum() int32 {
if x != nil {
return x.Currbooschallengenum
}
return 0
}
func (x *DBMainline) GetLastboosrefresh() int64 {
if x != nil {
return x.Lastboosrefresh
}
return 0
}
type DBMainlineAward struct { type DBMainlineAward struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -325,7 +357,7 @@ var File_mainline_mainline_db_proto protoreflect.FileDescriptor
var file_mainline_mainline_db_proto_rawDesc = []byte{ var file_mainline_mainline_db_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x0a, 0x1a, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x06, 0x0a, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x08, 0x0a,
0x0a, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x0a, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 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, 0x38, 0x0a, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a,
@ -349,78 +381,94 @@ var file_mainline_mainline_db_proto_rawDesc = []byte{
0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x72, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x08, 0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x08,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x65, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, 0x12, 0x3e, 0x0a,
0x0e, 0x4c, 0x61, 0x73, 0x74, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0b, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x12, 0x28, 0x0a,
0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f, 0x73,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x72, 0x62,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x6f, 0x6f, 0x73, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x6e, 0x75, 0x6d, 0x18,
0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x63,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x6c,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x61, 0x73, 0x74, 0x62, 0x6f, 0x6f, 0x73, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x0c,
0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x62, 0x6f, 0x6f, 0x73, 0x72, 0x65,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6c, 0x66, 0x72, 0x65, 0x73, 0x68, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x61, 0x73, 0x74, 0x6c, 0x65, 0x76,
0x6f, 0x72, 0x65, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4f, 0x0a, 0x0f, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72,
0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x35, 0x0a, 0x07,
0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65,
0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x02, 0x0a, 0x0e, 0x44,
0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x68, 0x6f, 0x70, 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,
0x36, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x68, 0x6f,
0x70, 0x2e, 0x42, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
0x62, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e,
0x6c, 0x69, 0x6e, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x3a, 0x0a, 0x0c,
0x42, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x6e, 0x6c, 0x6f,
0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x82, 0x02, 0x0a, 0x0a, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61,
0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x6b,
0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x61, 0x73,
0x6b, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x2e,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77,
0x61, 0x72, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a,
0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x11, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x61, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x51, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x77, 0x61, 0x72, 0x64,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x4f, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x61, 0x77, 0x61, 0x72,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e,
0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x43,
0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x0f,
0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12,
0x31, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64,
0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x77, 0x61,
0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x96, 0x02, 0x0a, 0x0e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x53, 0x68, 0x6f, 0x70, 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, 0x36, 0x0a, 0x07, 0x62, 0x75, 0x79, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69,
0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x42, 0x75, 0x79, 0x74, 0x69, 0x6d,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x62, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x33, 0x0a, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x68, 0x6f, 0x70,
0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x75, 0x6e,
0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x3a, 0x0a, 0x0c, 0x42, 0x75, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x82, 0x02, 0x0a, 0x0a,
0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x05,
0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42,
0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65,
0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x4d,
0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x54,
0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -435,7 +483,7 @@ func file_mainline_mainline_db_proto_rawDescGZIP() []byte {
return file_mainline_mainline_db_proto_rawDescData return file_mainline_mainline_db_proto_rawDescData
} }
var file_mainline_mainline_db_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_mainline_mainline_db_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_mainline_mainline_db_proto_goTypes = []interface{}{ var file_mainline_mainline_db_proto_goTypes = []interface{}{
(*DBMainline)(nil), // 0: DBMainline (*DBMainline)(nil), // 0: DBMainline
(*DBMainlineAward)(nil), // 1: DBMainlineAward (*DBMainlineAward)(nil), // 1: DBMainlineAward
@ -447,11 +495,12 @@ var file_mainline_mainline_db_proto_goTypes = []interface{}{
nil, // 7: DBMainline.ExploreawardEntry nil, // 7: DBMainline.ExploreawardEntry
nil, // 8: DBMainline.GroupawardEntry nil, // 8: DBMainline.GroupawardEntry
nil, // 9: DBMainline.PsEntry nil, // 9: DBMainline.PsEntry
nil, // 10: DBMainlineAward.AwardEntry nil, // 10: DBMainline.ChapterboosEntry
nil, // 11: DBMainlineShop.BuytimeEntry nil, // 11: DBMainlineAward.AwardEntry
nil, // 12: DBMainlineShop.UnlockEntry nil, // 12: DBMainlineShop.BuytimeEntry
nil, // 13: DBMainTask.TasksEntry nil, // 13: DBMainlineShop.UnlockEntry
nil, // 14: DBMainTask.RewardEntry nil, // 14: DBMainTask.TasksEntry
nil, // 15: DBMainTask.RewardEntry
} }
var file_mainline_mainline_db_proto_depIdxs = []int32{ var file_mainline_mainline_db_proto_depIdxs = []int32{
4, // 0: DBMainline.lastlevel:type_name -> DBMainline.LastlevelEntry 4, // 0: DBMainline.lastlevel:type_name -> DBMainline.LastlevelEntry
@ -460,19 +509,20 @@ var file_mainline_mainline_db_proto_depIdxs = []int32{
7, // 3: DBMainline.exploreaward:type_name -> DBMainline.ExploreawardEntry 7, // 3: DBMainline.exploreaward:type_name -> DBMainline.ExploreawardEntry
8, // 4: DBMainline.groupaward:type_name -> DBMainline.GroupawardEntry 8, // 4: DBMainline.groupaward:type_name -> DBMainline.GroupawardEntry
9, // 5: DBMainline.ps:type_name -> DBMainline.PsEntry 9, // 5: DBMainline.ps:type_name -> DBMainline.PsEntry
10, // 6: DBMainlineAward.award:type_name -> DBMainlineAward.AwardEntry 10, // 6: DBMainline.chapterboos:type_name -> DBMainline.ChapterboosEntry
11, // 7: DBMainlineShop.buytime:type_name -> DBMainlineShop.BuytimeEntry 11, // 7: DBMainlineAward.award:type_name -> DBMainlineAward.AwardEntry
12, // 8: DBMainlineShop.unlock:type_name -> DBMainlineShop.UnlockEntry 12, // 8: DBMainlineShop.buytime:type_name -> DBMainlineShop.BuytimeEntry
13, // 9: DBMainTask.tasks:type_name -> DBMainTask.TasksEntry 13, // 9: DBMainlineShop.unlock:type_name -> DBMainlineShop.UnlockEntry
14, // 10: DBMainTask.reward:type_name -> DBMainTask.RewardEntry 14, // 10: DBMainTask.tasks:type_name -> DBMainTask.TasksEntry
1, // 11: DBMainline.ChapterawardEntry.value:type_name -> DBMainlineAward 15, // 11: DBMainTask.reward:type_name -> DBMainTask.RewardEntry
1, // 12: DBMainline.ExploreawardEntry.value:type_name -> DBMainlineAward 1, // 12: DBMainline.ChapterawardEntry.value:type_name -> DBMainlineAward
1, // 13: DBMainline.GroupawardEntry.value:type_name -> DBMainlineAward 1, // 13: DBMainline.ExploreawardEntry.value:type_name -> DBMainlineAward
14, // [14:14] is the sub-list for method output_type 1, // 14: DBMainline.GroupawardEntry.value:type_name -> DBMainlineAward
14, // [14:14] is the sub-list for method input_type 15, // [15:15] is the sub-list for method output_type
14, // [14:14] is the sub-list for extension type_name 15, // [15:15] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension extendee 15, // [15:15] is the sub-list for extension type_name
0, // [0:14] is the sub-list for field type_name 15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
} }
func init() { file_mainline_mainline_db_proto_init() } func init() { file_mainline_mainline_db_proto_init() }
@ -536,7 +586,7 @@ func file_mainline_mainline_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mainline_mainline_db_proto_rawDesc, RawDescriptor: file_mainline_mainline_db_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 15, NumMessages: 16,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -1176,6 +1176,229 @@ func (x *MainlineTaskChapteRewardResp) GetAward() []*UserAtno {
return nil return nil
} }
//boos 挑战
type MainlineBoosChallengeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Battle *BattleFormation `protobuf:"bytes,2,opt,name=battle,proto3" json:"battle"`
}
func (x *MainlineBoosChallengeReq) Reset() {
*x = MainlineBoosChallengeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineBoosChallengeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineBoosChallengeReq) ProtoMessage() {}
func (x *MainlineBoosChallengeReq) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_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 MainlineBoosChallengeReq.ProtoReflect.Descriptor instead.
func (*MainlineBoosChallengeReq) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{21}
}
func (x *MainlineBoosChallengeReq) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *MainlineBoosChallengeReq) GetBattle() *BattleFormation {
if x != nil {
return x.Battle
}
return nil
}
//boos 挑战回应
type MainlineBoosChallengeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
Boosid int32 `protobuf:"varint,2,opt,name=boosid,proto3" json:"boosid"`
}
func (x *MainlineBoosChallengeResp) Reset() {
*x = MainlineBoosChallengeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineBoosChallengeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineBoosChallengeResp) ProtoMessage() {}
func (x *MainlineBoosChallengeResp) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_msg_proto_msgTypes[22]
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 MainlineBoosChallengeResp.ProtoReflect.Descriptor instead.
func (*MainlineBoosChallengeResp) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{22}
}
func (x *MainlineBoosChallengeResp) GetInfo() *BattleInfo {
if x != nil {
return x.Info
}
return nil
}
func (x *MainlineBoosChallengeResp) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
//关卡战斗结束请求
type MainlineBoosChallengeOverReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Report *BattleReport `protobuf:"bytes,2,opt,name=report,proto3" json:"report"` //战报
}
func (x *MainlineBoosChallengeOverReq) Reset() {
*x = MainlineBoosChallengeOverReq{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineBoosChallengeOverReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineBoosChallengeOverReq) ProtoMessage() {}
func (x *MainlineBoosChallengeOverReq) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_msg_proto_msgTypes[23]
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 MainlineBoosChallengeOverReq.ProtoReflect.Descriptor instead.
func (*MainlineBoosChallengeOverReq) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{23}
}
func (x *MainlineBoosChallengeOverReq) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *MainlineBoosChallengeOverReq) GetReport() *BattleReport {
if x != nil {
return x.Report
}
return nil
}
type MainlineBoosChallengeOverResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Reward []*UserAtno `protobuf:"bytes,2,rep,name=reward,proto3" json:"reward"` //奖励
}
func (x *MainlineBoosChallengeOverResp) Reset() {
*x = MainlineBoosChallengeOverResp{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineBoosChallengeOverResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineBoosChallengeOverResp) ProtoMessage() {}
func (x *MainlineBoosChallengeOverResp) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_msg_proto_msgTypes[24]
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 MainlineBoosChallengeOverResp.ProtoReflect.Descriptor instead.
func (*MainlineBoosChallengeOverResp) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{24}
}
func (x *MainlineBoosChallengeOverResp) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *MainlineBoosChallengeOverResp) GetReward() []*UserAtno {
if x != nil {
return x.Reward
}
return nil
}
var File_mainline_mainline_msg_proto protoreflect.FileDescriptor var File_mainline_mainline_msg_proto protoreflect.FileDescriptor
var file_mainline_mainline_msg_proto_rawDesc = []byte{ var file_mainline_mainline_msg_proto_rawDesc = []byte{
@ -1289,8 +1512,31 @@ var file_mainline_mainline_msg_proto_rawDesc = []byte{
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e,
0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x5c, 0x0a, 0x18, 0x4d, 0x61, 0x69, 0x6e,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x6f, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06,
0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x54, 0x0a, 0x19, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x42, 0x6f, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
0x69, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x1c,
0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x6f, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f,
0x6f, 0x73, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70,
0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x5a, 0x0a, 0x1d, 0x4d,
0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x6f, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f,
0x6f, 0x73, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52,
0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -1305,7 +1551,7 @@ func file_mainline_mainline_msg_proto_rawDescGZIP() []byte {
return file_mainline_mainline_msg_proto_rawDescData return file_mainline_mainline_msg_proto_rawDescData
} }
var file_mainline_mainline_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_mainline_mainline_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_mainline_mainline_msg_proto_goTypes = []interface{}{ var file_mainline_mainline_msg_proto_goTypes = []interface{}{
(*MainlineInfoReq)(nil), // 0: MainlineInfoReq (*MainlineInfoReq)(nil), // 0: MainlineInfoReq
(*MainlineInfoResp)(nil), // 1: MainlineInfoResp (*MainlineInfoResp)(nil), // 1: MainlineInfoResp
@ -1328,37 +1574,45 @@ var file_mainline_mainline_msg_proto_goTypes = []interface{}{
(*MainlineTaskReceiveResp)(nil), // 18: MainlineTaskReceiveResp (*MainlineTaskReceiveResp)(nil), // 18: MainlineTaskReceiveResp
(*MainlineTaskChapteRewardReq)(nil), // 19: MainlineTaskChapteRewardReq (*MainlineTaskChapteRewardReq)(nil), // 19: MainlineTaskChapteRewardReq
(*MainlineTaskChapteRewardResp)(nil), // 20: MainlineTaskChapteRewardResp (*MainlineTaskChapteRewardResp)(nil), // 20: MainlineTaskChapteRewardResp
(*DBMainline)(nil), // 21: DBMainline (*MainlineBoosChallengeReq)(nil), // 21: MainlineBoosChallengeReq
(*ConIProgress)(nil), // 22: ConIProgress (*MainlineBoosChallengeResp)(nil), // 22: MainlineBoosChallengeResp
(*BattleFormation)(nil), // 23: BattleFormation (*MainlineBoosChallengeOverReq)(nil), // 23: MainlineBoosChallengeOverReq
(*BattleInfo)(nil), // 24: BattleInfo (*MainlineBoosChallengeOverResp)(nil), // 24: MainlineBoosChallengeOverResp
(*BattleReport)(nil), // 25: BattleReport (*DBMainline)(nil), // 25: DBMainline
(*UserAtno)(nil), // 26: UserAtno (*ConIProgress)(nil), // 26: ConIProgress
(*DBMainlineShop)(nil), // 27: DBMainlineShop (*BattleFormation)(nil), // 27: BattleFormation
(*DBMainTask)(nil), // 28: DBMainTask (*BattleInfo)(nil), // 28: BattleInfo
(*BattleReport)(nil), // 29: BattleReport
(*UserAtno)(nil), // 30: UserAtno
(*DBMainlineShop)(nil), // 31: DBMainlineShop
(*DBMainTask)(nil), // 32: DBMainTask
} }
var file_mainline_mainline_msg_proto_depIdxs = []int32{ var file_mainline_mainline_msg_proto_depIdxs = []int32{
21, // 0: MainlineInfoResp.info:type_name -> DBMainline 25, // 0: MainlineInfoResp.info:type_name -> DBMainline
22, // 1: MainlineInfoResp.conlds:type_name -> ConIProgress 26, // 1: MainlineInfoResp.conlds:type_name -> ConIProgress
23, // 2: MainlineChallengeReq.battle:type_name -> BattleFormation 27, // 2: MainlineChallengeReq.battle:type_name -> BattleFormation
24, // 3: MainlineChallengeResp.info:type_name -> BattleInfo 28, // 3: MainlineChallengeResp.info:type_name -> BattleInfo
25, // 4: MainlineChallengeOverReq.report:type_name -> BattleReport 29, // 4: MainlineChallengeOverReq.report:type_name -> BattleReport
26, // 5: MainlineChallengeOverResp.reward:type_name -> UserAtno 30, // 5: MainlineChallengeOverResp.reward:type_name -> UserAtno
26, // 6: MainlineLevelPassResp.reward:type_name -> UserAtno 30, // 6: MainlineLevelPassResp.reward:type_name -> UserAtno
26, // 7: MainlineReceiveAwardResp.reward:type_name -> UserAtno 30, // 7: MainlineReceiveAwardResp.reward:type_name -> UserAtno
27, // 8: MainlineShopResp.info:type_name -> DBMainlineShop 31, // 8: MainlineShopResp.info:type_name -> DBMainlineShop
27, // 9: MainlineShopBuyResp.info:type_name -> DBMainlineShop 31, // 9: MainlineShopBuyResp.info:type_name -> DBMainlineShop
26, // 10: MainlineShopBuyResp.item:type_name -> UserAtno 30, // 10: MainlineShopBuyResp.item:type_name -> UserAtno
22, // 11: MainlineTaskInfoResp.conlds:type_name -> ConIProgress 26, // 11: MainlineTaskInfoResp.conlds:type_name -> ConIProgress
28, // 12: MainlineTaskInfoResp.tasks:type_name -> DBMainTask 32, // 12: MainlineTaskInfoResp.tasks:type_name -> DBMainTask
26, // 13: MainlineTaskReceiveResp.award:type_name -> UserAtno 30, // 13: MainlineTaskReceiveResp.award:type_name -> UserAtno
28, // 14: MainlineTaskChapteRewardResp.task:type_name -> DBMainTask 32, // 14: MainlineTaskChapteRewardResp.task:type_name -> DBMainTask
26, // 15: MainlineTaskChapteRewardResp.award:type_name -> UserAtno 30, // 15: MainlineTaskChapteRewardResp.award:type_name -> UserAtno
16, // [16:16] is the sub-list for method output_type 27, // 16: MainlineBoosChallengeReq.battle:type_name -> BattleFormation
16, // [16:16] is the sub-list for method input_type 28, // 17: MainlineBoosChallengeResp.info:type_name -> BattleInfo
16, // [16:16] is the sub-list for extension type_name 29, // 18: MainlineBoosChallengeOverReq.report:type_name -> BattleReport
16, // [16:16] is the sub-list for extension extendee 30, // 19: MainlineBoosChallengeOverResp.reward:type_name -> UserAtno
0, // [0:16] is the sub-list for field type_name 20, // [20:20] is the sub-list for method output_type
20, // [20:20] is the sub-list for method input_type
20, // [20:20] is the sub-list for extension type_name
20, // [20:20] is the sub-list for extension extendee
0, // [0:20] is the sub-list for field type_name
} }
func init() { file_mainline_mainline_msg_proto_init() } func init() { file_mainline_mainline_msg_proto_init() }
@ -1623,6 +1877,54 @@ func file_mainline_mainline_msg_proto_init() {
return nil return nil
} }
} }
file_mainline_mainline_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineBoosChallengeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mainline_mainline_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineBoosChallengeResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mainline_mainline_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineBoosChallengeOverReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mainline_mainline_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineBoosChallengeOverResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@ -1630,7 +1932,7 @@ func file_mainline_mainline_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mainline_mainline_msg_proto_rawDesc, RawDescriptor: file_mainline_mainline_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 21, NumMessages: 25,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -9,34 +9,26 @@
package cfg package cfg
type GameBuzkashiMount struct { type GameBuzkashiMount struct {
_dataMap map[string]*GameBuzkashiMountData
_dataList []*GameBuzkashiMountData _dataList []*GameBuzkashiMountData
} }
func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) { func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) {
_dataList := make([]*GameBuzkashiMountData, 0, len(_buf)) _dataList := make([]*GameBuzkashiMountData, 0, len(_buf))
dataMap := make(map[string]*GameBuzkashiMountData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil { if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
} }
} }
return &GameBuzkashiMount{_dataList:_dataList, _dataMap:dataMap}, nil return &GameBuzkashiMount{_dataList:_dataList}, nil
}
func (table *GameBuzkashiMount) GetDataMap() map[string]*GameBuzkashiMountData {
return table._dataMap
} }
func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData { func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData {
return table._dataList return table._dataList
} }
func (table *GameBuzkashiMount) Get(key string) *GameBuzkashiMountData { func (table *GameBuzkashiMount) Get(index int) *GameBuzkashiMountData {
return table._dataMap[key] return table._dataList[index]
} }

View File

@ -12,6 +12,7 @@ import "errors"
type GameBuzkashiMountData struct { type GameBuzkashiMountData struct {
Id string Id string
Type int32
Name string Name string
Intr string Intr string
Color int32 Color int32
@ -26,6 +27,9 @@ type GameBuzkashiMountData struct {
Sprint int32 Sprint int32
Acceleration int32 Acceleration int32
Deceleration int32 Deceleration int32
Itemsprint int32
Caddtime int32
Csubtime int32
} }
const TypeId_GameBuzkashiMountData = 1598069936 const TypeId_GameBuzkashiMountData = 1598069936
@ -36,6 +40,7 @@ func (*GameBuzkashiMountData) GetTypeId() int32 {
func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } } { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ 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; 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 __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 __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 } } } {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 } } }
{ 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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Color"].(float64); !_ok_ { err = errors.New("Color error"); return }; _v.Color = int32(_tempNum_) }
@ -63,6 +68,9 @@ func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err er
{ 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["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["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_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deceleration"].(float64); !_ok_ { err = errors.New("deceleration error"); return }; _v.Deceleration = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["itemsprint"].(float64); !_ok_ { err = errors.New("itemsprint error"); return }; _v.Itemsprint = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["caddtime"].(float64); !_ok_ { err = errors.New("caddtime error"); return }; _v.Caddtime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["csubtime"].(float64); !_ok_ { err = errors.New("csubtime error"); return }; _v.Csubtime = int32(_tempNum_) }
return return
} }

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameMainBoss struct {
_dataMap map[int32]*GameMainBossData
_dataList []*GameMainBossData
}
func NewGameMainBoss(_buf []map[string]interface{}) (*GameMainBoss, error) {
_dataList := make([]*GameMainBossData, 0, len(_buf))
dataMap := make(map[int32]*GameMainBossData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameMainBossData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameMainBoss{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameMainBoss) GetDataMap() map[int32]*GameMainBossData {
return table._dataMap
}
func (table *GameMainBoss) GetDataList() []*GameMainBossData {
return table._dataList
}
func (table *GameMainBoss) Get(key int32) *GameMainBossData {
return table._dataMap[key]
}

View File

@ -0,0 +1,73 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameMainBossData struct {
Id int32
MonsterChapter int32
MonsterDisplayIp int32
MonsterStrength int32
Battlereadyid int32
FormatList []int32
Reward []*Gameatn
}
const TypeId_GameMainBossData = 923446796
func (*GameMainBossData) GetTypeId() int32 {
return 923446796
}
func (_v *GameMainBossData)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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_chapter"].(float64); !_ok_ { err = errors.New("monster_chapter error"); return }; _v.MonsterChapter = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MonsterDisplay_Ip"].(float64); !_ok_ { err = errors.New("MonsterDisplay_Ip error"); return }; _v.MonsterDisplayIp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster_strength"].(float64); !_ok_ { err = errors.New("monster_strength error"); return }; _v.MonsterStrength = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["battlereadyid"].(float64); !_ok_ { err = errors.New("battlereadyid error"); return }; _v.Battlereadyid = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["formatList"].([]interface{}); !_ok_ { err = errors.New("formatList error"); return }
_v.FormatList = make([]int32, 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_) }
_v.FormatList = append(_v.FormatList, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
_v.Reward = 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.Reward = append(_v.Reward, _list_v_)
}
}
return
}
func DeserializeGameMainBossData(_buf map[string]interface{}) (*GameMainBossData, error) {
v := &GameMainBossData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -253,6 +253,7 @@ type Tables struct {
TopUIConfig *GameTopUIConfig TopUIConfig *GameTopUIConfig
MainShopItem *GameMainShopItem MainShopItem *GameMainShopItem
MainAchievement *GameMainAchievement MainAchievement *GameMainAchievement
MainBoss *GameMainBoss
Trainlv *GameTrainlv Trainlv *GameTrainlv
DragonPlay *GameDragonPlay DragonPlay *GameDragonPlay
DragonPlot *GameDragonPlot DragonPlot *GameDragonPlot
@ -1715,6 +1716,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.MainAchievement, err = NewGameMainAchievement(buf) ; err != nil { if tables.MainAchievement, err = NewGameMainAchievement(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_mainboss") ; err != nil {
return nil, err
}
if tables.MainBoss, err = NewGameMainBoss(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_trainlv") ; err != nil { if buf, err = loader("game_trainlv") ; err != nil {
return nil, err return nil, err
} }