上传竞技场代码

This commit is contained in:
liwei1dao 2022-10-25 14:35:24 +08:00
parent 0baabf3414
commit a90b68886f
19 changed files with 732 additions and 574 deletions

View File

@ -205,6 +205,11 @@
"guild_ImpeachmentCountDown": 48, "guild_ImpeachmentCountDown": 48,
"guild_DissolutionCountDown_cd": 24, "guild_DissolutionCountDown_cd": 24,
"guild_dissolution_cd": 72, "guild_dissolution_cd": 72,
"guild_BuildCd": 72 "guild_BuildCd": 72,
"ArenaTicket_max": 10,
"ArenaTicket_RecoveryTime": 144,
"ArenaTicket_PurchaseRrestrictions": 10,
"arena_InitiaIntegral": 1000,
"arena_RecordMax": 10
} }
] ]

View File

@ -7,6 +7,7 @@ import (
"go_dreamfactory/pb" "go_dreamfactory/pb"
"math/big" "math/big"
"reflect" "reflect"
"strings"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
@ -107,3 +108,14 @@ func GetRandW(sz []int32) int32 {
} }
return 0 return 0
} }
///通过uid获取用户所在区服
func UidToSTag(uid string) (stag string, err error) {
s := strings.SplitN(uid, "_", 2)
if len(s) < 2 {
err = fmt.Errorf("uid 格式异常:%v", uid)
return
}
stag = s[0]
return
}

60
modules/arena/api_buy.go Normal file
View File

@ -0,0 +1,60 @@
package arena
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ArenaBuyReq) (code pb.ErrorCode) {
if req.BuyNum == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
///获取自己的排行榜信息
func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (code pb.ErrorCode, data proto.Message) {
var (
info *pb.DBArenaUser
challenge *cfg.GameArenaBuyChallengeData
need []*cfg.Gameatn
err error
)
if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success {
return
}
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_CacheReadError
return
}
need = make([]*cfg.Gameatn, 0)
for i := int32(0); i < req.BuyNum; i++ {
if challenge, err = this.module.configure.GetchallengeData(info.Buynum + i + 1); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if challenge == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
need = append(need, challenge.Need...)
}
if code = this.module.ConsumeRes(session, need, true); code != pb.ErrorCode_Success {
return
}
info.Buynum += req.BuyNum
info.Ticket += req.BuyNum
this.module.modelArena.Change(session.GetUserId(), map[string]interface{}{
"ticket": info.Ticket,
"buynum": info.Buynum,
})
session.SendMsg(string(this.module.GetType()), "buy", &pb.MoonfantasyBuyResp{Issucc: true, BattleNum: info.Ticket})
return
}

View File

@ -2,7 +2,6 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -10,7 +9,9 @@ import (
//参数校验 //参数校验
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.ArenaChallengeReq) (code pb.ErrorCode) { func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.ArenaChallengeReq) (code pb.ErrorCode) {
if req.Playerid == "" {
code = pb.ErrorCode_ReqParameterError
}
return return
} }
@ -19,6 +20,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
var ( var (
red *pb.DBArenaUser red *pb.DBArenaUser
bule *pb.DBArenaUser bule *pb.DBArenaUser
heros []*pb.DBHero
record *pb.DBBattleRecord record *pb.DBBattleRecord
cd pb.ErrorCode cd pb.ErrorCode
err error err error
@ -38,11 +40,25 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
if cd = this.ChallengeCheck(session, req); cd != pb.ErrorCode_Success { if cd = this.ChallengeCheck(session, req); cd != pb.ErrorCode_Success {
return return
} }
if red, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil { if red, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil {
cd = pb.ErrorCode_DBError cd = pb.ErrorCode_DBError
return return
} }
if bule, err = this.module.modelArena.queryPlayerInfo(req.Playerid); err != nil && err != mgo.MongodbNil { if red.Defend == nil {
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Battle.Format); err != nil {
code = pb.ErrorCode_DBError
return
}
red.Defend = &pb.DBPlayerBattleFormt{
Leadpos: req.Battle.Leadpos,
Formt: heros,
}
if err = this.module.modelArena.updateArenaUserInfo(red); err != nil {
code = pb.ErrorCode_DBError
return
}
}
if bule, err = this.module.modelArena.queryPlayerInfo(req.Playerid); err != nil {
cd = pb.ErrorCode_DBError cd = pb.ErrorCode_DBError
return return
} }

View File

@ -2,7 +2,6 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"time" "time"
@ -35,11 +34,11 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha
return return
} }
} }
if red, err = this.module.modelArena.queryPlayerInfo(req.Report.Info.RedCompId); err != nil && err != mgo.MongodbNil { if red, err = this.module.modelArena.queryPlayerInfo(req.Report.Info.RedCompId); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
if bule, err = this.module.modelArena.queryPlayerInfo(req.Report.Info.BlueCompId); err != nil && err != mgo.MongodbNil { if bule, err = this.module.modelArena.queryPlayerInfo(req.Report.Info.BlueCompId); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }

View File

@ -2,7 +2,6 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -23,7 +22,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (code
if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success { if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil { if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo" "go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
@ -17,36 +18,35 @@ func (this *apiComp) MatcheCheck(session comm.IUserSession, req *pb.ArenaMatcheR
///匹配 ///匹配
func (this *apiComp) Matche(session comm.IUserSession, req *pb.ArenaMatcheReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Matche(session comm.IUserSession, req *pb.ArenaMatcheReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
players []*pb.DBArenaUser info *pb.DBArenaUser
ai []*pb.DBArenaUser active *cfg.GameArenaActiveRewardData
mplayers []*pb.ArenaPlayer players []*pb.ArenaPlayer
err error ai []*pb.ArenaPlayer
err error
) )
if code = this.MatcheCheck(session, req); code != pb.ErrorCode_Success { if code = this.MatcheCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
if players, err = this.module.modelArena.matchePlayer(req.Minintegral, req.Maxintegral); err != nil && err != mgo.MongodbNil { if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if active, err = this.module.configure.getActiveReward(info.Integral); err != nil {
this.module.Errorln(err)
return
}
if players, err = this.module.modelArena.matchePlayer(info.Uid, info.Dan, active.HumanNum); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
if len(players) < 5 { if len(players) < 5 {
num := 5 - len(players) num := 5 - len(players)
if ai, err = this.module.modelArena.matcheAI(req.Minintegral, int32(num)); err != nil && err != mgo.MongodbNil { if ai, err = this.module.modelArena.matcheAI(info.Dan, int32(num)); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
players = append(players, ai...) players = append(players, ai...)
} }
mplayers = make([]*pb.ArenaPlayer, len(players)) session.SendMsg(string(this.module.GetType()), "matche", &pb.ArenaMatcheResp{Players: players})
for i, v := range players {
mplayers[i] = &pb.ArenaPlayer{
Uid: v.Uid,
Name: v.Name,
Integral: v.Integral,
Defend: v.Defend,
}
}
session.SendMsg(string(this.module.GetType()), "matche", &pb.ArenaMatcheResp{Players: mplayers})
return return
} }

View File

@ -2,7 +2,6 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -24,15 +23,10 @@ func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttF
if code = this.SetAttFormtCheck(session, req); code != pb.ErrorCode_Success { if code = this.SetAttFormtCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil { if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
if err == mgo.MongodbNil {
info = &pb.DBArenaUser{
Uid: session.GetUserId(),
}
}
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil { if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return

View File

@ -2,7 +2,6 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -24,15 +23,11 @@ func (this *apiComp) SetDefFormt(session comm.IUserSession, req *pb.ArenaSetDefF
if code = this.SetDefFormtCheck(session, req); code != pb.ErrorCode_Success { if code = this.SetDefFormtCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil { if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
} }
if err == mgo.MongodbNil {
info = &pb.DBArenaUser{
Uid: session.GetUserId(),
}
}
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil { if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return

View File

@ -1,9 +1,12 @@
package arena package arena
import ( import (
"fmt"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"sync"
) )
const ( const (
@ -12,12 +15,17 @@ const (
game_arenaarobot = "game_arenaarobot.json" //ai配置表 game_arenaarobot = "game_arenaarobot.json" //ai配置表
game_arenarankreward = "game_arenarankreward.json" //比赛奖励配置 game_arenarankreward = "game_arenarankreward.json" //比赛奖励配置
game_arenachallengenpc = "game_arenachallengenpc.json" //剧情表 game_arenachallengenpc = "game_arenachallengenpc.json" //剧情表
game_monsterformat = "game_monsterformat.json" //整容表
game_monster = "game_monster.json" //怪物表
) )
///竞技场配置管理组件 ///竞技场配置管理组件
type configureComp struct { type configureComp struct {
modules.MCompConfigure modules.MCompConfigure
module *Arena module *Arena
lock sync.RWMutex
ais map[int32][]*cfg.GameArenaRobotData
} }
//组件初始化接口 //组件初始化接口
@ -27,7 +35,124 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
this.LoadConfigure(game_arenabuychallenge, cfg.NewGameArenaBuyChallenge) this.LoadConfigure(game_arenabuychallenge, cfg.NewGameArenaBuyChallenge)
this.LoadConfigure(game_arenaactivereward, cfg.NewGameArenaActiveReward) this.LoadConfigure(game_arenaactivereward, cfg.NewGameArenaActiveReward)
this.LoadConfigure(game_arenaarobot, cfg.NewGameArenaRobot) this.LoadConfigure(game_arenaarobot, cfg.NewGameArenaRobot)
configure.RegisterConfigure(game_arenaarobot, cfg.NewGameArenaRobot, this.updateArenaRobot)
this.LoadConfigure(game_arenarankreward, cfg.NewGameArenaRankReward) this.LoadConfigure(game_arenarankreward, cfg.NewGameArenaRankReward)
this.LoadConfigure(game_arenachallengenpc, cfg.NewGameArenaChallengeNpc) this.LoadConfigure(game_arenachallengenpc, cfg.NewGameArenaChallengeNpc)
this.LoadConfigure(game_monsterformat, cfg.NewGameMonsterFormat)
this.LoadConfigure(game_monster, cfg.NewGameMonster)
return
}
///获取月之秘境触购买表
func (this *configureComp) GetchallengeData(buynum int32) (result *cfg.GameArenaBuyChallengeData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_arenabuychallenge); err != nil {
this.module.Errorln(err)
return
} else {
result = v.(*cfg.GameArenaBuyChallenge).GetDataMap()[buynum]
}
return
}
//查询积分段位信息
func (this *configureComp) getActiveReward(integral int32) (result *cfg.GameArenaActiveRewardData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_arenaactivereward); err != nil {
this.module.Errorln(err)
} else {
for _, v := range v.(*cfg.GameArenaActiveReward).GetDataMap() {
if integral >= v.ScoreLow && integral < v.ScoreUp {
result = v
return
}
}
}
err = fmt.Errorf("未找到 匹配积分:%d段位配置", integral)
return
}
//查询积分段位信息
func (this *configureComp) getActiveRewardById(lv int32) (result *cfg.GameArenaActiveRewardData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_arenaactivereward); err != nil {
this.module.Errorln(err)
} else {
if result, ok = v.(*cfg.GameArenaActiveReward).GetDataMap()[lv]; !ok {
err = fmt.Errorf("未找到段位:%d配置", lv)
this.module.Errorln(err)
}
}
return
}
//更新ai数据表
func (this *configureComp) updateArenaRobot() {
if v, err := this.GetConfigure(game_arenaarobot); err == nil {
if configure, ok := v.(*cfg.GameArenaRobot); ok {
this.lock.Lock()
defer this.lock.Unlock()
for _, value := range configure.GetDataList() {
if _, ok = this.ais[value.LvId]; !ok {
this.ais[value.LvId] = make([]*cfg.GameArenaRobotData, 0)
}
this.ais[value.LvId] = append(this.ais[value.LvId], value)
}
return
}
} else {
this.module.Errorln(err)
}
}
func (this *configureComp) getArenaRobot(dan int32) (result []*cfg.GameArenaRobotData, err error) {
this.lock.RLock()
defer this.lock.RUnlock()
result = this.ais[dan]
if result == nil {
err = fmt.Errorf("未找到匹配段位:%d的ai配置", dan)
}
return
}
//查询阵容表
func (this *configureComp) getMonsterFormat(id int32) (result *cfg.GameMonsterFormatData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_monsterformat); err != nil {
this.module.Errorln(err)
} else {
if result, ok = v.(*cfg.GameMonsterFormat).GetDataMap()[id]; !ok {
err = fmt.Errorf("on found MonsterFormat:%d", id)
this.module.Errorln(err)
}
}
return
}
//查询怪物表
func (this *configureComp) getMonster(id int32) (result *cfg.GameMonsterData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_monster); err != nil {
this.module.Errorln(err)
} else {
if result, ok = v.(*cfg.GameMonster).GetDataMap()[id]; !ok {
err = fmt.Errorf("on found GameMonster:%d", id)
this.module.Errorln(err)
}
}
return return
} }

View File

@ -2,14 +2,20 @@ package arena
import ( import (
"context" "context"
"fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo" "go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
"math/rand"
"time"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/x/bsonx" "go.mongodb.org/mongo-driver/x/bsonx"
) )
@ -38,19 +44,52 @@ func (this *modelArena) queryPlayerInfo(uId string) (result *pb.DBArenaUser, err
this.module.Errorln(err) this.module.Errorln(err)
return return
} }
if err == mgo.MongodbNil {
result = &pb.DBArenaUser{
Uid: uId,
Integral: 0,
Ticket: 10,
Record: make([]*pb.DBArenaBattleRecord, 0),
}
if err = this.Add(uId, result); err != nil {
this.module.Errorln(err)
}
}
return return
} }
//查询用户英雄数据 //查询用户英雄数据
func (this *modelArena) queryUserHeros(uid string, heroids []string) (results []*pb.DBHero, err error) { func (this *modelArena) queryUserHeros(uid string, heroids []string) (results []*pb.DBHero, err error) {
var (
model *db.DBModel
)
if model, err = this.module.GetDBNoduleByUid(uid, comm.TableHero, time.Hour); err != nil {
this.module.Errorln(err)
return
}
results = make([]*pb.DBHero, 0)
if err = model.GetListObjs(uid, heroids, results); err != nil {
this.module.Errorln(err)
return
}
return return
} }
///保存用户竞技场信息 ///保存用户竞技场信息
func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) { func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) {
var (
active *cfg.GameArenaActiveRewardData
)
if active, err = this.module.configure.getActiveReward(info.Integral); err != nil {
this.module.Errorln(err)
return
}
this.Change(info.Uid, map[string]interface{}{ this.Change(info.Uid, map[string]interface{}{
"integral": info.Integral, "integral": info.Integral,
"dan": active.LvId,
"attack": info.Attack, "attack": info.Attack,
"defend": info.Defend, "defend": info.Defend,
"streak": info.Streak, "streak": info.Streak,
@ -84,17 +123,80 @@ func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) {
// } // }
//匹配机器人 //匹配机器人
func (this *modelArena) matcheAI(duan, num int32) (results []*pb.DBArenaUser, err error) { func (this *modelArena) matcheAI(dan, num int32) (results []*pb.ArenaPlayer, err error) {
var (
active *cfg.GameArenaActiveRewardData
ais []*cfg.GameArenaRobotData
mFormat *cfg.GameMonsterFormatData
monst *cfg.GameMonsterData
rank []int32
targets []int32
)
if active, err = this.module.configure.getActiveRewardById(dan); err != nil {
this.module.Errorln(err)
return
}
if ais, err = this.module.configure.getArenaRobot(dan); err != nil {
this.module.Errorln(err)
return
}
rank = make([]int32, len(ais))
for i, v := range ais {
rank[i] = v.Weight
}
targets = make([]int32, num)
for i := 0; i < int(num); i++ {
index := comm.GetRandW(rank)
targets[i] = index
}
results = make([]*pb.ArenaPlayer, num)
for i, v := range targets {
results[i] = &pb.ArenaPlayer{
Name: this.randUserName(),
Dan: dan,
Integral: int32(rand.Intn(int(active.ScoreUp)-int(active.ScoreLow))) + active.ScoreLow,
Isai: true,
Defend: &pb.DBPlayerBattleFormt{
Leadpos: mFormat.CaptainId,
Formt: make([]*pb.DBHero, len(mFormat.MonsterList)),
},
}
aiconf := ais[v]
if mFormat, err = this.module.configure.getMonsterFormat(aiconf.MonsterformatId); err != nil {
this.module.Errorln(err)
return
}
for i1, v1 := range mFormat.MonsterList {
if v1 == -1 {
results[i].Defend.Formt[i1] = nil
} else {
if monst, err = this.module.configure.getMonster(v1); err != nil {
this.module.Errorln(err)
}
hero := &pb.DBHero{}
if hero = this.module.ModuleHero.CreateMonster(monst.HeroId, monst.Star, mFormat.Lv); hero == nil {
err = fmt.Errorf("CreateMonster 失败")
return
}
hero.Property[comm.Hp] = int32(float32(hero.Property[comm.Hp]) * mFormat.Hppro)
hero.Property[comm.Atk] = int32(float32(hero.Property[comm.Atk]) * mFormat.Atkpro)
hero.Property[comm.Def] = int32(float32(hero.Property[comm.Def]) * mFormat.Defpro)
hero.SuiteId = monst.Equip4
hero.SuiteExtId = monst.Equip2
results[i].Defend.Formt[i1] = hero
}
}
}
return return
} }
//获取目标去陪数据 //获取目标去陪数据
func (this *modelArena) matchePlayer(min, max int32) (results []*pb.DBArenaUser, err error) { func (this *modelArena) matchePlayer(uid string, dan, num int32) (results []*pb.ArenaPlayer, err error) {
var ( var (
cursor *mongo.Cursor cursor *mongo.Cursor
) )
if cursor, err = this.DBModel.DB.Find(comm.TableArena, bson.M{}); err != nil { results = make([]*pb.ArenaPlayer, 0)
if cursor, err = this.DBModel.DB.Find(comm.TableArena, bson.M{"uid": bson.M{"$ne": uid}, "dan": dan}, options.Find().SetSkip(0).SetLimit(int64(num))); err != nil {
this.module.Errorln(err) this.module.Errorln(err)
return return
} else { } else {
@ -104,7 +206,19 @@ func (this *modelArena) matchePlayer(min, max int32) (results []*pb.DBArenaUser,
this.module.Errorln(err) this.module.Errorln(err)
return return
} }
results = append(results, &pb.ArenaPlayer{
Uid: temp.Uid,
Name: temp.Name,
Dan: temp.Dan,
Integral: temp.Integral,
Defend: temp.Defend,
})
} }
} }
return return
} }
//随机用户名
func (this *modelArena) randUserName() string {
return ""
}

View File

@ -20,6 +20,7 @@ type Arena struct {
modules.ModuleBase modules.ModuleBase
battle comm.IBattle battle comm.IBattle
api *apiComp api *apiComp
configure *configureComp
modelArena *modelArena modelArena *modelArena
} }
@ -39,5 +40,6 @@ func (this *Arena) Init(service core.IService, module core.IModule, options core
func (this *Arena) OnInstallComp() { func (this *Arena) OnInstallComp() {
this.ModuleBase.OnInstallComp() this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.modelArena = this.RegisterComp(new(modelArena)).(*modelArena) this.modelArena = this.RegisterComp(new(modelArena)).(*modelArena)
} }

View File

@ -370,6 +370,28 @@ func (this *ModuleBase) GetDBNodule(session comm.IUserSession, tableName string,
return return
} }
//跨服对象获取数据操作对象
func (this *ModuleBase) GetDBNoduleByUid(uid, tableName string, expired time.Duration) (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, expired, conn)
return
}
//日志接口 //日志接口
func (this *ModuleBase) Debug(msg string, args ...log.Field) { func (this *ModuleBase) Debug(msg string, args ...log.Field) {
this.options.GetLog().Debug(msg, args...) this.options.GetLog().Debug(msg, args...)

View File

@ -84,8 +84,10 @@ type ArenaPlayer struct {
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
Integral int32 `protobuf:"varint,3,opt,name=Integral,proto3" json:"Integral"` Dan int32 `protobuf:"varint,3,opt,name=dan,proto3" json:"dan"` //段位
Defend *DBPlayerBattleFormt `protobuf:"bytes,4,opt,name=defend,proto3" json:"defend"` //防守 Integral int32 `protobuf:"varint,4,opt,name=Integral,proto3" json:"Integral"`
Defend *DBPlayerBattleFormt `protobuf:"bytes,5,opt,name=defend,proto3" json:"defend"` //防守
Isai bool `protobuf:"varint,6,opt,name=isai,proto3" json:"isai"` //是否是ai
} }
func (x *ArenaPlayer) Reset() { func (x *ArenaPlayer) Reset() {
@ -134,6 +136,13 @@ func (x *ArenaPlayer) GetName() string {
return "" return ""
} }
func (x *ArenaPlayer) GetDan() int32 {
if x != nil {
return x.Dan
}
return 0
}
func (x *ArenaPlayer) GetIntegral() int32 { func (x *ArenaPlayer) GetIntegral() int32 {
if x != nil { if x != nil {
return x.Integral return x.Integral
@ -148,6 +157,13 @@ func (x *ArenaPlayer) GetDefend() *DBPlayerBattleFormt {
return nil return nil
} }
func (x *ArenaPlayer) GetIsai() bool {
if x != nil {
return x.Isai
}
return false
}
//战斗记录 //战斗记录
type DBArenaBattleRecord struct { type DBArenaBattleRecord struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -242,16 +258,19 @@ type DBArenaUser struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //玩家名称 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //玩家名称
Integral int32 `protobuf:"varint,3,opt,name=integral,proto3" json:"integral"` //积分 Integral int32 `protobuf:"varint,3,opt,name=integral,proto3" json:"integral"` //积分
Attack *DBPlayerBattleFormt `protobuf:"bytes,4,opt,name=attack,proto3" json:"attack"` //进攻阵型 Ticket int32 `protobuf:"varint,4,opt,name=ticket,proto3" json:"ticket"` //挑战券
Defend *DBPlayerBattleFormt `protobuf:"bytes,5,opt,name=defend,proto3" json:"defend"` //防守阵型 Dan int32 `protobuf:"varint,5,opt,name=dan,proto3" json:"dan"` //段位
Streak int32 `protobuf:"varint,6,opt,name=streak,proto3" json:"streak"` //连胜 Attack *DBPlayerBattleFormt `protobuf:"bytes,6,opt,name=attack,proto3" json:"attack"` //进攻阵型
Attackrate int32 `protobuf:"varint,7,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率 Defend *DBPlayerBattleFormt `protobuf:"bytes,7,opt,name=defend,proto3" json:"defend"` //防守阵型
Defendrate int32 `protobuf:"varint,8,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率 Streak int32 `protobuf:"varint,8,opt,name=streak,proto3" json:"streak"` //连胜
Rank int32 `protobuf:"varint,9,opt,name=rank,proto3" json:"rank"` //排名 Attackrate int32 `protobuf:"varint,9,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率
Record []*DBArenaBattleRecord `protobuf:"bytes,10,rep,name=record,proto3" json:"record"` //战斗记录 Defendrate int32 `protobuf:"varint,10,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率
Rank int32 `protobuf:"varint,11,opt,name=rank,proto3" json:"rank"` //排名
Buynum int32 `protobuf:"varint,12,opt,name=buynum,proto3" json:"buynum"` //购买次数
Record []*DBArenaBattleRecord `protobuf:"bytes,13,rep,name=record,proto3" json:"record"` //战斗记录
} }
func (x *DBArenaUser) Reset() { func (x *DBArenaUser) Reset() {
@ -307,6 +326,20 @@ func (x *DBArenaUser) GetIntegral() int32 {
return 0 return 0
} }
func (x *DBArenaUser) GetTicket() int32 {
if x != nil {
return x.Ticket
}
return 0
}
func (x *DBArenaUser) GetDan() int32 {
if x != nil {
return x.Dan
}
return 0
}
func (x *DBArenaUser) GetAttack() *DBPlayerBattleFormt { func (x *DBArenaUser) GetAttack() *DBPlayerBattleFormt {
if x != nil { if x != nil {
return x.Attack return x.Attack
@ -349,6 +382,13 @@ func (x *DBArenaUser) GetRank() int32 {
return 0 return 0
} }
func (x *DBArenaUser) GetBuynum() int32 {
if x != nil {
return x.Buynum
}
return 0
}
func (x *DBArenaUser) GetRecord() []*DBArenaBattleRecord { func (x *DBArenaUser) GetRecord() []*DBArenaBattleRecord {
if x != nil { if x != nil {
return x.Record return x.Record
@ -366,47 +406,54 @@ var file_arena_arena_db_proto_rawDesc = []byte{
0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x66, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x66,
0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48,
0x65, 0x72, 0x6f, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0x7d, 0x0a, 0x0b, 0x41, 0x72, 0x65, 0x72, 0x6f, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x0b, 0x41,
0x65, 0x6e, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64,
0x05, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x64, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x04,
0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x2c,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46,
0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x73, 0x61, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69,
0x62, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74,
0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69,
0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14,
0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x69, 0x76, 0x0a, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69,
0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x69, 0x76, 0x61, 0x73, 0x77, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64,
0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x65, 0x22, 0xc5, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x09, 0x52, 0x07, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x69,
0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x0b, 0x44, 0x42, 0x41,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x72, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a,
0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69,
0x6b, 0x12, 0x2c, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b,
0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x03, 0x64, 0x61, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x06,
0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42,
0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61,
0x6b, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x63, 0x6b, 0x12, 0x2c, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01,
0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74,
0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64,
0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74,
0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x74, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65,
0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x66, 0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x75, 0x79, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75,
0x79, 0x6e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0d,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
} }
var ( var (

View File

@ -320,9 +320,6 @@ type ArenaMatcheReq struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Minintegral int32 `protobuf:"varint,1,opt,name=minintegral,proto3" json:"minintegral"` //匹配最小分数段
Maxintegral int32 `protobuf:"varint,2,opt,name=maxintegral,proto3" json:"maxintegral"` //匹配最大分数段
} }
func (x *ArenaMatcheReq) Reset() { func (x *ArenaMatcheReq) Reset() {
@ -357,20 +354,6 @@ func (*ArenaMatcheReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{6} return file_arena_arena_msg_proto_rawDescGZIP(), []int{6}
} }
func (x *ArenaMatcheReq) GetMinintegral() int32 {
if x != nil {
return x.Minintegral
}
return 0
}
func (x *ArenaMatcheReq) GetMaxintegral() int32 {
if x != nil {
return x.Maxintegral
}
return 0
}
//竞技场匹配 回应 //竞技场匹配 回应
type ArenaMatcheResp struct { type ArenaMatcheResp struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -712,6 +695,109 @@ func (*ArenaRankResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{13} return file_arena_arena_msg_proto_rawDescGZIP(), []int{13}
} }
//购买票据
type ArenaBuyReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BuyNum int32 `protobuf:"varint,1,opt,name=buyNum,proto3" json:"buyNum"`
}
func (x *ArenaBuyReq) Reset() {
*x = ArenaBuyReq{}
if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ArenaBuyReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArenaBuyReq) ProtoMessage() {}
func (x *ArenaBuyReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[14]
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 ArenaBuyReq.ProtoReflect.Descriptor instead.
func (*ArenaBuyReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{14}
}
func (x *ArenaBuyReq) GetBuyNum() int32 {
if x != nil {
return x.BuyNum
}
return 0
}
type ArenaBuyResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"` //是否成功
Ticket int32 `protobuf:"varint,2,opt,name=ticket,proto3" json:"ticket"` //当前挑战次数
}
func (x *ArenaBuyResp) Reset() {
*x = ArenaBuyResp{}
if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ArenaBuyResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArenaBuyResp) ProtoMessage() {}
func (x *ArenaBuyResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[15]
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 ArenaBuyResp.ProtoReflect.Descriptor instead.
func (*ArenaBuyResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{15}
}
func (x *ArenaBuyResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
func (x *ArenaBuyResp) GetTicket() int32 {
if x != nil {
return x.Ticket
}
return 0
}
var File_arena_arena_msg_proto protoreflect.FileDescriptor var File_arena_arena_msg_proto protoreflect.FileDescriptor
var file_arena_arena_msg_proto_rawDesc = []byte{ var file_arena_arena_msg_proto_rawDesc = []byte{
@ -739,39 +825,41 @@ var file_arena_arena_msg_proto_rawDesc = []byte{
0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0x2e, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0x2e, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e,
0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x54, 0x0a, 0x0e, 0x41, 0x72, 0x65, 0x6e, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x10, 0x0a, 0x0e, 0x41, 0x72, 0x65, 0x6e,
0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x22, 0x39, 0x0a, 0x0f, 0x41, 0x72,
0x6e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x65, 0x6e, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a,
0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
0x6d, 0x61, 0x78, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c,
0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x39, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68,
0x0a, 0x0f, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c,
0x70, 0x12, 0x26, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x41, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46,
0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x22, 0x55, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65,
0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
0x74, 0x74, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x56, 0x0a, 0x17, 0x41, 0x72, 0x65, 0x6e, 0x61,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x08, 0x52, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x56, 0x0a, 0x17, 0x41, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x77, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22,
0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x18, 0x32, 0x0a, 0x18, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x77, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69,
0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x75, 0x63, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x61, 0x6e, 0x6b,
0x6f, 0x72, 0x74, 0x22, 0x32, 0x0a, 0x18, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x22, 0x0f, 0x0a, 0x0d, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x61, 0x6e, 0x6b,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x65, 0x73, 0x70, 0x22, 0x25, 0x0a, 0x0b, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x75, 0x79,
0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20,
0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x3e, 0x0a, 0x0c, 0x41,
0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x22, 0x0f, 0x0a, 0x0d, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69,
0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x75, 0x63, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -786,7 +874,7 @@ func file_arena_arena_msg_proto_rawDescGZIP() []byte {
return file_arena_arena_msg_proto_rawDescData return file_arena_arena_msg_proto_rawDescData
} }
var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_arena_arena_msg_proto_goTypes = []interface{}{ var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaInfoReq)(nil), // 0: ArenaInfoReq (*ArenaInfoReq)(nil), // 0: ArenaInfoReq
(*ArenaInfoResp)(nil), // 1: ArenaInfoResp (*ArenaInfoResp)(nil), // 1: ArenaInfoResp
@ -802,20 +890,22 @@ var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaChallengeRewardResp)(nil), // 11: ArenaChallengeRewardResp (*ArenaChallengeRewardResp)(nil), // 11: ArenaChallengeRewardResp
(*ArenaRankReq)(nil), // 12: ArenaRankReq (*ArenaRankReq)(nil), // 12: ArenaRankReq
(*ArenaRankResp)(nil), // 13: ArenaRankResp (*ArenaRankResp)(nil), // 13: ArenaRankResp
(*DBArenaUser)(nil), // 14: DBArenaUser (*ArenaBuyReq)(nil), // 14: ArenaBuyReq
(*ArenaPlayer)(nil), // 15: ArenaPlayer (*ArenaBuyResp)(nil), // 15: ArenaBuyResp
(*BattleFormation)(nil), // 16: BattleFormation (*DBArenaUser)(nil), // 16: DBArenaUser
(ErrorCode)(0), // 17: ErrorCode (*ArenaPlayer)(nil), // 17: ArenaPlayer
(*BattleInfo)(nil), // 18: BattleInfo (*BattleFormation)(nil), // 18: BattleFormation
(*BattleReport)(nil), // 19: BattleReport (ErrorCode)(0), // 19: ErrorCode
(*BattleInfo)(nil), // 20: BattleInfo
(*BattleReport)(nil), // 21: BattleReport
} }
var file_arena_arena_msg_proto_depIdxs = []int32{ var file_arena_arena_msg_proto_depIdxs = []int32{
14, // 0: ArenaInfoResp.info:type_name -> DBArenaUser 16, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
15, // 1: ArenaMatcheResp.players:type_name -> ArenaPlayer 17, // 1: ArenaMatcheResp.players:type_name -> ArenaPlayer
16, // 2: ArenaChallengeReq.battle:type_name -> BattleFormation 18, // 2: ArenaChallengeReq.battle:type_name -> BattleFormation
17, // 3: ArenaChallengeResp.code:type_name -> ErrorCode 19, // 3: ArenaChallengeResp.code:type_name -> ErrorCode
18, // 4: ArenaChallengeResp.info:type_name -> BattleInfo 20, // 4: ArenaChallengeResp.info:type_name -> BattleInfo
19, // 5: ArenaChallengeRewardReq.report:type_name -> BattleReport 21, // 5: ArenaChallengeRewardReq.report:type_name -> BattleReport
6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension type_name
@ -1000,6 +1090,30 @@ func file_arena_arena_msg_proto_init() {
return nil return nil
} }
} }
file_arena_arena_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaBuyReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_arena_arena_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaBuyResp); 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{
@ -1007,7 +1121,7 @@ func file_arena_arena_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_arena_arena_msg_proto_rawDesc, RawDescriptor: file_arena_arena_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 14, NumMessages: 16,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -787,7 +787,7 @@ func (x *EquipmentWashResp) GetAdverbEntry() []*EquipmentAttributeEntry {
return nil return nil
} }
//谢怜确认 //洗练确认
type EquipmentWashConfirmReq struct { type EquipmentWashConfirmReq struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache

View File

@ -543,78 +543,6 @@ func (x *DBHeroRecord) GetDrawcount() int32 {
return 0 return 0
} }
// 英雄天赋系统
type HeroTalent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID 主键id
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
HeroId string `protobuf:"bytes,3,opt,name=heroId,proto3" json:"heroId"` // 英雄ID
Talnet map[int32]int32 `protobuf:"bytes,4,rep,name=talnet,proto3" json:"talnet" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 已经学习过的天赋
}
func (x *HeroTalent) Reset() {
*x = HeroTalent{}
if protoimpl.UnsafeEnabled {
mi := &file_hero_hero_db_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HeroTalent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeroTalent) ProtoMessage() {}
func (x *HeroTalent) ProtoReflect() protoreflect.Message {
mi := &file_hero_hero_db_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeroTalent.ProtoReflect.Descriptor instead.
func (*HeroTalent) Descriptor() ([]byte, []int) {
return file_hero_hero_db_proto_rawDescGZIP(), []int{4}
}
func (x *HeroTalent) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *HeroTalent) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *HeroTalent) GetHeroId() string {
if x != nil {
return x.HeroId
}
return ""
}
func (x *HeroTalent) GetTalnet() map[int32]int32 {
if x != nil {
return x.Talnet
}
return nil
}
var File_hero_hero_db_proto protoreflect.FileDescriptor var File_hero_hero_db_proto protoreflect.FileDescriptor
var file_hero_hero_db_proto_rawDesc = []byte{ var file_hero_hero_db_proto_rawDesc = []byte{
@ -717,23 +645,11 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2a,
0xb2, 0x01, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x2f, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01,
0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x6e,
0x65, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x54,
0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x6c, 0x6e, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x6e, 0x65, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c,
0x6e, 0x65, 0x74, 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, 0x2a, 0x2f, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65,
0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10,
0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e,
0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -749,35 +665,32 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte {
} }
var file_hero_hero_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_hero_hero_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_hero_hero_db_proto_goTypes = []interface{}{ var file_hero_hero_db_proto_goTypes = []interface{}{
(HeroType)(0), // 0: HeroType (HeroType)(0), // 0: HeroType
(*SkillData)(nil), // 1: SkillData (*SkillData)(nil), // 1: SkillData
(*DBHero)(nil), // 2: DBHero (*DBHero)(nil), // 2: DBHero
(*Floor)(nil), // 3: Floor (*Floor)(nil), // 3: Floor
(*DBHeroRecord)(nil), // 4: DBHeroRecord (*DBHeroRecord)(nil), // 4: DBHeroRecord
(*HeroTalent)(nil), // 5: HeroTalent nil, // 5: DBHero.PropertyEntry
nil, // 6: DBHero.PropertyEntry nil, // 6: DBHero.AddPropertyEntry
nil, // 7: DBHero.AddPropertyEntry nil, // 7: DBHero.EnergyEntry
nil, // 8: DBHero.EnergyEntry nil, // 8: DBHero.EnergyPropertyEntry
nil, // 9: DBHero.EnergyPropertyEntry nil, // 9: DBHero.JuexPropertyEntry
nil, // 10: DBHero.JuexPropertyEntry
nil, // 11: HeroTalent.TalnetEntry
} }
var file_hero_hero_db_proto_depIdxs = []int32{ var file_hero_hero_db_proto_depIdxs = []int32{
1, // 0: DBHero.normalSkill:type_name -> SkillData 1, // 0: DBHero.normalSkill:type_name -> SkillData
6, // 1: DBHero.property:type_name -> DBHero.PropertyEntry 5, // 1: DBHero.property:type_name -> DBHero.PropertyEntry
7, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry 6, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry
8, // 3: DBHero.energy:type_name -> DBHero.EnergyEntry 7, // 3: DBHero.energy:type_name -> DBHero.EnergyEntry
9, // 4: DBHero.energyProperty:type_name -> DBHero.EnergyPropertyEntry 8, // 4: DBHero.energyProperty:type_name -> DBHero.EnergyPropertyEntry
10, // 5: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry 9, // 5: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry
0, // 6: DBHero.status:type_name -> HeroType 0, // 6: DBHero.status:type_name -> HeroType
11, // 7: HeroTalent.talnet:type_name -> HeroTalent.TalnetEntry 7, // [7:7] is the sub-list for method output_type
8, // [8:8] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type
8, // [8:8] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee
8, // [8:8] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name
0, // [0:8] is the sub-list for field type_name
} }
func init() { file_hero_hero_db_proto_init() } func init() { file_hero_hero_db_proto_init() }
@ -834,18 +747,6 @@ func file_hero_hero_db_proto_init() {
return nil return nil
} }
} }
file_hero_hero_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HeroTalent); 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{
@ -853,7 +754,7 @@ func file_hero_hero_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_hero_hero_db_proto_rawDesc, RawDescriptor: file_hero_hero_db_proto_rawDesc,
NumEnums: 1, NumEnums: 1,
NumMessages: 11, NumMessages: 9,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -1805,195 +1805,6 @@ func (x *HeroFusionResp) GetHeroid() string {
return "" return ""
} }
// 天赋学习
type HeroTalentListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *HeroTalentListReq) Reset() {
*x = HeroTalentListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_hero_hero_msg_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HeroTalentListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeroTalentListReq) ProtoMessage() {}
func (x *HeroTalentListReq) ProtoReflect() protoreflect.Message {
mi := &file_hero_hero_msg_proto_msgTypes[34]
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 HeroTalentListReq.ProtoReflect.Descriptor instead.
func (*HeroTalentListReq) Descriptor() ([]byte, []int) {
return file_hero_hero_msg_proto_rawDescGZIP(), []int{34}
}
type HeroTalentListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Telnet []*HeroTalent `protobuf:"bytes,1,rep,name=telnet,proto3" json:"telnet"`
}
func (x *HeroTalentListResp) Reset() {
*x = HeroTalentListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_hero_hero_msg_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HeroTalentListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeroTalentListResp) ProtoMessage() {}
func (x *HeroTalentListResp) ProtoReflect() protoreflect.Message {
mi := &file_hero_hero_msg_proto_msgTypes[35]
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 HeroTalentListResp.ProtoReflect.Descriptor instead.
func (*HeroTalentListResp) Descriptor() ([]byte, []int) {
return file_hero_hero_msg_proto_rawDescGZIP(), []int{35}
}
func (x *HeroTalentListResp) GetTelnet() []*HeroTalent {
if x != nil {
return x.Telnet
}
return nil
}
// 天赋学习
type HeroTalentLearnReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TalentID int32 `protobuf:"varint,1,opt,name=talentID,proto3" json:"talentID"` // 天赋ID
Heroid string `protobuf:"bytes,2,opt,name=heroid,proto3" json:"heroid"` // 英雄id
}
func (x *HeroTalentLearnReq) Reset() {
*x = HeroTalentLearnReq{}
if protoimpl.UnsafeEnabled {
mi := &file_hero_hero_msg_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HeroTalentLearnReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeroTalentLearnReq) ProtoMessage() {}
func (x *HeroTalentLearnReq) ProtoReflect() protoreflect.Message {
mi := &file_hero_hero_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 HeroTalentLearnReq.ProtoReflect.Descriptor instead.
func (*HeroTalentLearnReq) Descriptor() ([]byte, []int) {
return file_hero_hero_msg_proto_rawDescGZIP(), []int{36}
}
func (x *HeroTalentLearnReq) GetTalentID() int32 {
if x != nil {
return x.TalentID
}
return 0
}
func (x *HeroTalentLearnReq) GetHeroid() string {
if x != nil {
return x.Heroid
}
return ""
}
type HeroTalentLearnResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Telnet *HeroTalent `protobuf:"bytes,1,opt,name=telnet,proto3" json:"telnet"`
}
func (x *HeroTalentLearnResp) Reset() {
*x = HeroTalentLearnResp{}
if protoimpl.UnsafeEnabled {
mi := &file_hero_hero_msg_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HeroTalentLearnResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeroTalentLearnResp) ProtoMessage() {}
func (x *HeroTalentLearnResp) ProtoReflect() protoreflect.Message {
mi := &file_hero_hero_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 HeroTalentLearnResp.ProtoReflect.Descriptor instead.
func (*HeroTalentLearnResp) Descriptor() ([]byte, []int) {
return file_hero_hero_msg_proto_rawDescGZIP(), []int{37}
}
func (x *HeroTalentLearnResp) GetTelnet() *HeroTalent {
if x != nil {
return x.Telnet
}
return nil
}
var File_hero_hero_msg_proto protoreflect.FileDescriptor var File_hero_hero_msg_proto protoreflect.FileDescriptor
var file_hero_hero_msg_proto_rawDesc = []byte{ var file_hero_hero_msg_proto_rawDesc = []byte{
@ -2157,21 +1968,8 @@ var file_hero_hero_msg_proto_rawDesc = []byte{
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x28, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x22, 0x28, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x48, 0x65, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x39, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74, 0x22, 0x48, 0x0a, 0x12, 0x48, 0x65,
0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65,
0x72, 0x6f, 0x69, 0x64, 0x22, 0x3a, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x06, 0x74,
0x65, 0x6c, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x48, 0x65,
0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x6e, 0x65, 0x74,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -2186,7 +1984,7 @@ func file_hero_hero_msg_proto_rawDescGZIP() []byte {
return file_hero_hero_msg_proto_rawDescData return file_hero_hero_msg_proto_rawDescData
} }
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 41) var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
var file_hero_hero_msg_proto_goTypes = []interface{}{ var file_hero_hero_msg_proto_goTypes = []interface{}{
(*HeroInfoReq)(nil), // 0: HeroInfoReq (*HeroInfoReq)(nil), // 0: HeroInfoReq
(*HeroInfoResp)(nil), // 1: HeroInfoResp (*HeroInfoResp)(nil), // 1: HeroInfoResp
@ -2222,44 +2020,37 @@ var file_hero_hero_msg_proto_goTypes = []interface{}{
(*HeroDrawCardFloorResp)(nil), // 31: HeroDrawCardFloorResp (*HeroDrawCardFloorResp)(nil), // 31: HeroDrawCardFloorResp
(*HeroFusionReq)(nil), // 32: HeroFusionReq (*HeroFusionReq)(nil), // 32: HeroFusionReq
(*HeroFusionResp)(nil), // 33: HeroFusionResp (*HeroFusionResp)(nil), // 33: HeroFusionResp
(*HeroTalentListReq)(nil), // 34: HeroTalentListReq nil, // 34: HeroPropertyPush.PropertyEntry
(*HeroTalentListResp)(nil), // 35: HeroTalentListResp nil, // 35: HeroPropertyPush.AddPropertyEntry
(*HeroTalentLearnReq)(nil), // 36: HeroTalentLearnReq nil, // 36: HeroFusionReq.HerosEntry
(*HeroTalentLearnResp)(nil), // 37: HeroTalentLearnResp (*DBHero)(nil), // 37: DBHero
nil, // 38: HeroPropertyPush.PropertyEntry
nil, // 39: HeroPropertyPush.AddPropertyEntry
nil, // 40: HeroFusionReq.HerosEntry
(*DBHero)(nil), // 41: DBHero
(*HeroTalent)(nil), // 42: HeroTalent
} }
var file_hero_hero_msg_proto_depIdxs = []int32{ var file_hero_hero_msg_proto_depIdxs = []int32{
41, // 0: HeroInfoResp.base:type_name -> DBHero 37, // 0: HeroInfoResp.base:type_name -> DBHero
41, // 1: HeroListResp.list:type_name -> DBHero 37, // 1: HeroListResp.list:type_name -> DBHero
5, // 2: HeroStrengthenUplvReq.expCards:type_name -> MapStringInt32 5, // 2: HeroStrengthenUplvReq.expCards:type_name -> MapStringInt32
41, // 3: HeroStrengthenUplvResp.hero:type_name -> DBHero 37, // 3: HeroStrengthenUplvResp.hero:type_name -> DBHero
8, // 4: HeroStrengthenUpStarReq.hero:type_name -> CostCardData 8, // 4: HeroStrengthenUpStarReq.hero:type_name -> CostCardData
8, // 5: HeroStrengthenUpStarReq.heroRace:type_name -> CostCardData 8, // 5: HeroStrengthenUpStarReq.heroRace:type_name -> CostCardData
41, // 6: HeroStrengthenUpStarResp.hero:type_name -> DBHero 37, // 6: HeroStrengthenUpStarResp.hero:type_name -> DBHero
41, // 7: HeroStrengthenUpSkillResp.hero:type_name -> DBHero 37, // 7: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
41, // 8: HeroResonanceResp.hero:type_name -> DBHero 37, // 8: HeroResonanceResp.hero:type_name -> DBHero
41, // 9: HeroResonanceResp.upStarCard:type_name -> DBHero 37, // 9: HeroResonanceResp.upStarCard:type_name -> DBHero
41, // 10: HeroResonanceResetResp.hero:type_name -> DBHero 37, // 10: HeroResonanceResetResp.hero:type_name -> DBHero
17, // 11: HeroResonanceUseEnergyReq.energy:type_name -> EnergyData 17, // 11: HeroResonanceUseEnergyReq.energy:type_name -> EnergyData
41, // 12: HeroResonanceUseEnergyResp.hero:type_name -> DBHero 37, // 12: HeroResonanceUseEnergyResp.hero:type_name -> DBHero
41, // 13: HeroAwakenResp.hero:type_name -> DBHero 37, // 13: HeroAwakenResp.hero:type_name -> DBHero
38, // 14: HeroPropertyPush.property:type_name -> HeroPropertyPush.PropertyEntry 34, // 14: HeroPropertyPush.property:type_name -> HeroPropertyPush.PropertyEntry
39, // 15: HeroPropertyPush.addProperty:type_name -> HeroPropertyPush.AddPropertyEntry 35, // 15: HeroPropertyPush.addProperty:type_name -> HeroPropertyPush.AddPropertyEntry
41, // 16: HeroLockResp.hero:type_name -> DBHero 37, // 16: HeroLockResp.hero:type_name -> DBHero
41, // 17: HeroGetSpecifiedResp.hero:type_name -> DBHero 37, // 17: HeroGetSpecifiedResp.hero:type_name -> DBHero
41, // 18: HeroChangePush.list:type_name -> DBHero 37, // 18: HeroChangePush.list:type_name -> DBHero
40, // 19: HeroFusionReq.heros:type_name -> HeroFusionReq.HerosEntry 36, // 19: HeroFusionReq.heros:type_name -> HeroFusionReq.HerosEntry
42, // 20: HeroTalentListResp.telnet:type_name -> HeroTalent 20, // [20:20] is the sub-list for method output_type
42, // 21: HeroTalentLearnResp.telnet:type_name -> HeroTalent 20, // [20:20] is the sub-list for method input_type
22, // [22:22] is the sub-list for method output_type 20, // [20:20] is the sub-list for extension type_name
22, // [22:22] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension extendee
22, // [22:22] is the sub-list for extension type_name 0, // [0:20] is the sub-list for field type_name
22, // [22:22] is the sub-list for extension extendee
0, // [0:22] is the sub-list for field type_name
} }
func init() { file_hero_hero_msg_proto_init() } func init() { file_hero_hero_msg_proto_init() }
@ -2677,54 +2468,6 @@ func file_hero_hero_msg_proto_init() {
return nil return nil
} }
} }
file_hero_hero_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HeroTalentListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_hero_hero_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HeroTalentListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_hero_hero_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HeroTalentLearnReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_hero_hero_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HeroTalentLearnResp); 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{
@ -2732,7 +2475,7 @@ func file_hero_hero_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_hero_hero_msg_proto_rawDesc, RawDescriptor: file_hero_hero_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 41, NumMessages: 37,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -104,6 +104,11 @@ type GameGlobalData struct {
GuildDissolutionCountDownCd int32 GuildDissolutionCountDownCd int32
GuildDissolutionCd int32 GuildDissolutionCd int32
GuildBuildCd int32 GuildBuildCd int32
ArenaTicketMax int32
ArenaTicketRecoveryTime int32
ArenaTicketPurchaseRrestrictions int32
ArenaInitiaIntegral int32
ArenaRecordMax int32
} }
const TypeId_GameGlobalData = 477542761 const TypeId_GameGlobalData = 477542761
@ -349,6 +354,11 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_DissolutionCountDown_cd"].(float64); !_ok_ { err = errors.New("guild_DissolutionCountDown_cd error"); return }; _v.GuildDissolutionCountDownCd = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_DissolutionCountDown_cd"].(float64); !_ok_ { err = errors.New("guild_DissolutionCountDown_cd error"); return }; _v.GuildDissolutionCountDownCd = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_dissolution_cd"].(float64); !_ok_ { err = errors.New("guild_dissolution_cd error"); return }; _v.GuildDissolutionCd = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_dissolution_cd"].(float64); !_ok_ { err = errors.New("guild_dissolution_cd error"); return }; _v.GuildDissolutionCd = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_BuildCd"].(float64); !_ok_ { err = errors.New("guild_BuildCd error"); return }; _v.GuildBuildCd = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["guild_BuildCd"].(float64); !_ok_ { err = errors.New("guild_BuildCd error"); return }; _v.GuildBuildCd = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_max"].(float64); !_ok_ { err = errors.New("ArenaTicket_max error"); return }; _v.ArenaTicketMax = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_RecoveryTime"].(float64); !_ok_ { err = errors.New("ArenaTicket_RecoveryTime error"); return }; _v.ArenaTicketRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_PurchaseRrestrictions"].(float64); !_ok_ { err = errors.New("ArenaTicket_PurchaseRrestrictions error"); return }; _v.ArenaTicketPurchaseRrestrictions = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["arena_InitiaIntegral"].(float64); !_ok_ { err = errors.New("arena_InitiaIntegral error"); return }; _v.ArenaInitiaIntegral = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["arena_RecordMax"].(float64); !_ok_ { err = errors.New("arena_RecordMax error"); return }; _v.ArenaRecordMax = int32(_tempNum_) }
return return
} }