diff --git a/bin/json/game_trollcoefficient.json b/bin/json/game_trollcoefficient.json
new file mode 100644
index 000000000..7e9555459
--- /dev/null
+++ b/bin/json/game_trollcoefficient.json
@@ -0,0 +1,50 @@
+[
+ {
+ "id": 1,
+ "coefficient": "1012"
+ },
+ {
+ "id": 2,
+ "coefficient": "1024"
+ },
+ {
+ "id": 3,
+ "coefficient": "1036"
+ },
+ {
+ "id": 4,
+ "coefficient": "1048"
+ },
+ {
+ "id": 5,
+ "coefficient": "1060"
+ },
+ {
+ "id": 6,
+ "coefficient": "1072"
+ },
+ {
+ "id": 7,
+ "coefficient": "900"
+ },
+ {
+ "id": 8,
+ "coefficient": "888"
+ },
+ {
+ "id": 9,
+ "coefficient": "876"
+ },
+ {
+ "id": 10,
+ "coefficient": "864"
+ },
+ {
+ "id": 11,
+ "coefficient": "852"
+ },
+ {
+ "id": 12,
+ "coefficient": "840"
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_trollgoods.json b/bin/json/game_trollgoods.json
new file mode 100644
index 000000000..016d52dc0
--- /dev/null
+++ b/bin/json/game_trollgoods.json
@@ -0,0 +1,110 @@
+[
+ {
+ "id": 1,
+ "goodsname": "物品1",
+ "goodsfor": 1,
+ "goodsinfor": "物品1货品信息",
+ "goodsicon": "clmsg_ll_01",
+ "goodsprice": 2000,
+ "star_money": 12000,
+ "uptext": "物品1up",
+ "suptext": "物品1sup",
+ "max": 40
+ },
+ {
+ "id": 2,
+ "goodsname": "物品2",
+ "goodsfor": 1,
+ "goodsinfor": "物品2货品信息",
+ "goodsicon": "clmsg_ll_02",
+ "goodsprice": 2000,
+ "star_money": 13000,
+ "uptext": "物品2up",
+ "suptext": "物品2sup",
+ "max": 40
+ },
+ {
+ "id": 3,
+ "goodsname": "物品3",
+ "goodsfor": 1,
+ "goodsinfor": "物品3货品信息",
+ "goodsicon": "clmsg_ll_03",
+ "goodsprice": 2000,
+ "star_money": 14000,
+ "uptext": "物品3up",
+ "suptext": "物品3sup",
+ "max": 40
+ },
+ {
+ "id": 4,
+ "goodsname": "物品4",
+ "goodsfor": 2,
+ "goodsinfor": "物品4货品信息",
+ "goodsicon": "clmsg_ll_04",
+ "goodsprice": 2000,
+ "star_money": 11000,
+ "uptext": "物品4up",
+ "suptext": "物品4sup",
+ "max": 40
+ },
+ {
+ "id": 5,
+ "goodsname": "物品5",
+ "goodsfor": 2,
+ "goodsinfor": "物品5货品信息",
+ "goodsicon": "clmsg_ll_05",
+ "goodsprice": 2000,
+ "star_money": 1000,
+ "uptext": "物品5up",
+ "suptext": "物品5sup",
+ "max": 30
+ },
+ {
+ "id": 6,
+ "goodsname": "物品6",
+ "goodsfor": 2,
+ "goodsinfor": "物品6货品信息",
+ "goodsicon": "wp_icon_0003",
+ "goodsprice": 2000,
+ "star_money": 2000,
+ "uptext": "物品6up",
+ "suptext": "物品6sup",
+ "max": 30
+ },
+ {
+ "id": 7,
+ "goodsname": "物品7",
+ "goodsfor": 3,
+ "goodsinfor": "物品7货品信息",
+ "goodsicon": "wp_icon_10002",
+ "goodsprice": 2000,
+ "star_money": 1000,
+ "uptext": "物品7up",
+ "suptext": "物品7sup",
+ "max": 30
+ },
+ {
+ "id": 8,
+ "goodsname": "物品8",
+ "goodsfor": 3,
+ "goodsinfor": "物品8货品信息",
+ "goodsicon": "wp_icon_10012",
+ "goodsprice": 2000,
+ "star_money": 3000,
+ "uptext": "物品8up",
+ "suptext": "物品8sup",
+ "max": 30
+ },
+ {
+ "id": 9,
+ "goodsname": "物品9",
+ "goodsfor": 3,
+ "goodsinfor": "物品9货品信息",
+ "goodsicon": "wp_icon_10014",
+ "goodsprice": 2000,
+ "star_money": 4000,
+ "uptext": "物品9up",
+ "suptext": "物品9sup",
+ "max": 30
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_trolllv.json b/bin/json/game_trolllv.json
new file mode 100644
index 000000000..a91cdac12
--- /dev/null
+++ b/bin/json/game_trolllv.json
@@ -0,0 +1,128 @@
+[
+ {
+ "lv": 1,
+ "money": 10000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ },
+ {
+ "lv": 2,
+ "money": 20000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ },
+ {
+ "lv": 3,
+ "money": 30000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ },
+ {
+ "lv": 4,
+ "money": 40000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ },
+ {
+ "lv": 5,
+ "money": 50000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ },
+ {
+ "lv": 6,
+ "money": 60000,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 2
+ }
+ ],
+ "model": [
+ "14007",
+ "25001",
+ "45001"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_trollrule.json b/bin/json/game_trollrule.json
new file mode 100644
index 000000000..965fb03e6
--- /dev/null
+++ b/bin/json/game_trollrule.json
@@ -0,0 +1,38 @@
+[
+ {
+ "id": 1,
+ "quantity": "5"
+ },
+ {
+ "id": 2,
+ "quantity": "20"
+ },
+ {
+ "id": 3,
+ "quantity": "40"
+ },
+ {
+ "id": 4,
+ "quantity": "20"
+ },
+ {
+ "id": 5,
+ "quantity": "300"
+ },
+ {
+ "id": 6,
+ "quantity": "1020"
+ },
+ {
+ "id": 7,
+ "quantity": "980"
+ },
+ {
+ "id": 8,
+ "quantity": "5"
+ },
+ {
+ "id": 9,
+ "quantity": "1500"
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_trolltrain.json b/bin/json/game_trolltrain.json
new file mode 100644
index 000000000..f0b1873b5
--- /dev/null
+++ b/bin/json/game_trolltrain.json
@@ -0,0 +1,23 @@
+[
+ {
+ "id": 1,
+ "name": "右屏商人",
+ "information": "这是一位熊猫商人",
+ "ico": "action_11001",
+ "time": 300
+ },
+ {
+ "id": 2,
+ "name": "上屏商人",
+ "information": "这是一位波比商人再此",
+ "ico": "action_11003",
+ "time": 300
+ },
+ {
+ "id": 3,
+ "name": "左屏商人",
+ "information": "这是一位滑板鞋王子",
+ "ico": "ytx_js_14007",
+ "time": 300
+ }
+]
\ No newline at end of file
diff --git a/comm/const.go b/comm/const.go
index dad1dad6c..530e5b884 100644
--- a/comm/const.go
+++ b/comm/const.go
@@ -63,6 +63,7 @@ const (
ModuleBattle core.M_Modules = "battle" //战斗
ModuleLibrary core.M_Modules = "library" //藏书馆
ModuleArena core.M_Modules = "arena" //竞技场
+ ModuleTroll core.M_Modules = "troll" //巨怪商队
//ModuleFetter core.M_Modules = "herofetter" //好友模块
)
@@ -158,6 +159,7 @@ const (
TableArenaRank = "arenarank" //排名
// 天赋
TableTalent = "herotalent"
+ TableTroll = "trolltrain"
)
//RPC服务接口定义处
diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go
index d54a4554d..9c4d88421 100644
--- a/modules/pagoda/api_challengeover.go
+++ b/modules/pagoda/api_challengeover.go
@@ -5,6 +5,7 @@ import (
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
+ "time"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
@@ -186,6 +187,21 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
conn.Mgo.InsertOne(comm.TableSeasonRecord, newData)
}
}
+ var dbModel *db.DBModel
+ if !this.module.IsCross() {
+ if dbModel, err = this.module.GetDBNoduleByUid(session.GetUserId(), comm.TableSeasonRecord, time.Hour); err == nil {
+ if err = dbModel.Add(session.GetUserId(), newData); err != nil {
+ this.module.Errorf("err:%v", err)
+ }
+ // 同步zset
+
+ }
+ } else {
+ if err = this.module.modelPagoda.Add(session.GetUserId(), newData); err != nil {
+ this.module.Errorf("err:%v", err)
+ return
+ }
+ }
//this.module.modulerank.addPagodaRankList(session, seasonPagoda, req.Report.Info.Redflist[0].Leadpos, sz, req.Report.Costtime)
}
diff --git a/modules/pagoda/api_getlist.go b/modules/pagoda/api_getlist.go
index 1009e57b0..95b326918 100644
--- a/modules/pagoda/api_getlist.go
+++ b/modules/pagoda/api_getlist.go
@@ -1,10 +1,13 @@
package pagoda
import (
+ "context"
"go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
+ "github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"google.golang.org/protobuf/proto"
@@ -12,7 +15,50 @@ import (
//参数校验
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PagodaGetListReq) (code pb.ErrorCode) {
+ uid := session.GetUserId()
+ if !this.module.IsCross() {
+ if conn, err := db.Cross(); err == nil {
+ //userinfo := this.module.ModuleUser.GetUser(session.GetUserId())
+ // newData := &pb.DBPagodaRecord{
+ // Id: primitive.NewObjectID().Hex(),
+ // Uid: session.GetUserId(),
+ // PagodaId: 111,
+ // Type: 201,
+ // Nickname: userinfo.Name,
+ // Icon: "", // icon 暂无
+ // Lv: userinfo.Lv,
+ // CostTime: 1002,
+ // }
+ //conn.Mgo.InsertOne(comm.TablePagodaRecord, newData)
+ var (
+ pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
+ menbers *redis.Z
+ )
+
+ menbers = &redis.Z{Score: float64(500), Member: uid}
+
+ if cmd := pipe.ZAdd("pagodaList", menbers); cmd != nil {
+ this.module.Errorln(err)
+
+ dock, err1 := cmd.Result()
+ this.module.Errorln(dock, err1)
+ }
+ if _, err = pipe.Exec(); err != nil {
+ this.module.Errorln(err)
+ return
+ }
+ //rd := pipe.ZRevRank("pagodaList", "dfmxf_6358f3f1375f6a340a12e2ab01234567")
+ rd := pipe.ZRange("pagodaList", 1, 5)
+ if _, err = pipe.Exec(); err != nil {
+ this.module.Errorln(err)
+ return
+ }
+ _data3 := rd.Val()
+ _data, err2 := rd.Result()
+ this.module.Errorln(_data, err2, _data3)
+ }
+ }
return
}
diff --git a/modules/pagoda/module.go b/modules/pagoda/module.go
index adc46ee79..124d89548 100644
--- a/modules/pagoda/module.go
+++ b/modules/pagoda/module.go
@@ -1,12 +1,17 @@
package pagoda
import (
+ "context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
+ "go_dreamfactory/sys/db"
+
+ "github.com/go-redis/redis/v8"
)
type Pagoda struct {
@@ -108,3 +113,39 @@ func (this *Pagoda) CleanSeasonPagodaData() (code pb.ErrorCode) {
return
}
+
+func (this *Pagoda) SetPagodaRank(tableName string, time int32, uid string) (err error) {
+
+ if !this.IsCross() {
+ if conn, err1 := db.Cross(); err1 == nil {
+ var (
+ pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
+ menbers *redis.Z
+ )
+
+ menbers = &redis.Z{Score: float64(time), Member: uid}
+
+ if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
+ this.Errorln(err)
+
+ dock, err := cmd.Result()
+ this.Errorln(dock, err)
+ }
+ if _, err = pipe.Exec(); err != nil {
+ this.Errorln(err)
+ return
+ }
+ //rd := pipe.ZRevRank("pagodaList", "dfmxf_6358f3f1375f6a340a12e2ab01234567")
+ rd := pipe.ZRange("pagodaList", 1, 5)
+ if _, err = pipe.Exec(); err != nil {
+ this.Errorln(err)
+ return
+ }
+ _data3 := rd.Val()
+ _data, err2 := rd.Result()
+ this.Errorln(_data, err2, _data3)
+ return
+ }
+ }
+ return
+}
diff --git a/modules/troll/api.go b/modules/troll/api.go
new file mode 100644
index 000000000..fdaa51db2
--- /dev/null
+++ b/modules/troll/api.go
@@ -0,0 +1,35 @@
+package troll
+
+import (
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+)
+
+const (
+ TrollGetListResp = "getlist"
+ GourmetCreateOrderResp = "createorder"
+ GourmetSkillLvResp = "skilllv"
+ TrollNpcRewardResp = "npcreward"
+ GourmetGetRandUserResp = "getranduser"
+)
+
+type apiComp struct {
+ modules.MCompGate
+ service core.IService
+ configure *configureComp
+ module *Troll
+}
+
+//组件初始化接口
+func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompGate.Init(service, module, comp, options)
+ this.module = module.(*Troll)
+ this.service = service
+ return
+}
+
+func (this *apiComp) Start() (err error) {
+ err = this.MCompGate.Start()
+
+ return
+}
diff --git a/modules/troll/api_getReward.go b/modules/troll/api_getReward.go
new file mode 100644
index 000000000..1fd024f0b
--- /dev/null
+++ b/modules/troll/api_getReward.go
@@ -0,0 +1,27 @@
+package troll
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+
+ "google.golang.org/protobuf/proto"
+)
+
+//参数校验
+func (this *apiComp) GetRewardCheck(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode) {
+
+ return
+}
+
+///美食城领取奖励
+func (this *apiComp) GetReward(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode, data proto.Message) {
+ code = this.GetRewardCheck(session, req)
+ _troll, err := this.module.modelTroll.getTrollList(session.GetUserId())
+ if err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+
+ session.SendMsg(string(this.module.GetType()), TrollNpcRewardResp, &pb.TrollNpcRewardResp{Data: _troll})
+ return
+}
diff --git a/modules/troll/api_getlist.go b/modules/troll/api_getlist.go
new file mode 100644
index 000000000..d8bed52e4
--- /dev/null
+++ b/modules/troll/api_getlist.go
@@ -0,0 +1,35 @@
+package troll
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+ "time"
+
+ "google.golang.org/protobuf/proto"
+)
+
+//参数校验
+func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode) {
+
+ return
+}
+
+///获取美食城基本信息
+func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode, data proto.Message) {
+
+ code = this.GetListCheck(session, req)
+ if code != pb.ErrorCode_Success {
+ return // 参数校验失败直接返回
+ }
+ _gourmet, err := this.module.modelTroll.getTrollList(session.GetUserId())
+ if err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if _gourmet.Ctime == 0 {
+ _gourmet.Ctime = time.Now().Unix()
+ }
+
+ session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: _gourmet})
+ return
+}
diff --git a/modules/troll/comp_configure.go b/modules/troll/comp_configure.go
new file mode 100644
index 000000000..fc6543feb
--- /dev/null
+++ b/modules/troll/comp_configure.go
@@ -0,0 +1,84 @@
+package troll
+
+import (
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "sync"
+)
+
+const (
+ game_gourmet = "game_gourmet.json"
+ game_gourmetskill = "game_gourmetskill.json"
+)
+
+///配置管理基础组件
+type configureComp struct {
+ hlock sync.RWMutex
+ modules.MCompConfigure
+ _gourmetMap map[int64]*cfg.GameGourmetData
+}
+
+//组件初始化接口
+func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompConfigure.Init(service, module, comp, options)
+
+ this._gourmetMap = make(map[int64]*cfg.GameGourmetData, 0)
+ configure.RegisterConfigure(game_gourmet, cfg.NewGameGourmet, func() {
+ if v, err := this.GetConfigure(game_gourmet); err == nil {
+ if configure, ok := v.(*cfg.GameGourmet); ok {
+ this.hlock.Lock()
+ defer this.hlock.Unlock()
+ for _, value := range configure.GetDataList() {
+ this._gourmetMap[int64(value.Type<<16)+int64(value.Level)] = value
+ }
+ return
+ }
+ }
+ log.Errorf("get game_pagoda conf err:%v", err)
+ return
+ })
+
+ return
+}
+
+// 获取美食馆配置数据
+func (this *configureComp) GetGourmetConfigData(gourmetType int32, level int32) (data *cfg.GameGourmetData) {
+
+ return this._gourmetMap[int64(gourmetType<<16)+int64(level)]
+}
+
+//加载多个配置文件
+func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
+ for k, v := range confs {
+ err = configure.RegisterConfigure(k, v, nil)
+ if err != nil {
+ log.Errorf("配置文件:%s解析失败!", k)
+ break
+ }
+ }
+ return
+}
+
+//读取配置数据
+func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
+ return configure.GetConfigure(name)
+}
+func (this *configureComp) GetGourmetSkillConfigBySkillType(skillType int32) (data []int32) {
+ data = make([]int32, 0)
+ if v, err := this.GetConfigure(game_gourmet); err == nil {
+ if configure, ok := v.(*cfg.GameGourmet); ok {
+ this.hlock.Lock()
+ defer this.hlock.Unlock()
+ for _, value := range configure.GetDataList() {
+ if value.SkillType == skillType && value.Initial == 1 {
+ data = append(data, value.Type)
+ }
+ }
+ return
+ }
+ }
+ return
+}
diff --git a/modules/troll/model_gourmet.go b/modules/troll/model_gourmet.go
new file mode 100644
index 000000000..606e87a1f
--- /dev/null
+++ b/modules/troll/model_gourmet.go
@@ -0,0 +1,40 @@
+package troll
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+
+ "go.mongodb.org/mongo-driver/mongo"
+ "go.mongodb.org/mongo-driver/x/bsonx"
+)
+
+type modelTroll struct {
+ modules.MCompModel
+ module *Troll
+}
+
+func (this *modelTroll) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ this.TableName = string(comm.TableTroll)
+ err = this.MCompModel.Init(service, module, comp, options)
+ this.module = module.(*Troll)
+ // uid 创建索引
+ this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
+ Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
+ })
+ return
+}
+
+func (this *modelTroll) getTrollList(uid string) (result *pb.DBTrollTrain, err error) {
+ result = &pb.DBTrollTrain{}
+ if err = this.Get(uid, result); err != nil {
+
+ return
+ }
+ err = nil
+ return result, err
+}
+func (this *modelTroll) modifyTrollDataByObjId(uid string, data map[string]interface{}) error {
+ return this.Change(uid, data)
+}
diff --git a/modules/troll/module.go b/modules/troll/module.go
new file mode 100644
index 000000000..b799045a3
--- /dev/null
+++ b/modules/troll/module.go
@@ -0,0 +1,50 @@
+/*
+模块名:Troll
+描述:巨怪商队
+开发:梅雄风
+*/
+package troll
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+)
+
+type Troll struct {
+ modules.ModuleBase
+ modelTroll *modelTroll
+ api *apiComp
+ configure *configureComp
+}
+
+func NewModule() core.IModule {
+ return &Troll{}
+}
+
+func (this *Troll) GetType() core.M_Modules {
+ return comm.ModuleTroll
+}
+
+func (this *Troll) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
+ err = this.ModuleBase.Init(service, module, options)
+
+ return
+}
+
+func (this *Troll) OnInstallComp() {
+ this.ModuleBase.OnInstallComp()
+ this.api = this.RegisterComp(new(apiComp)).(*apiComp)
+ this.modelTroll = this.RegisterComp(new(modelTroll)).(*modelTroll)
+ this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
+}
+
+// 接口信息
+func (this *Troll) ModifyTrollData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
+ err := this.modelTroll.modifyTrollDataByObjId(uid, data)
+ if err != nil {
+ code = pb.ErrorCode_DBError
+ }
+ return
+}
diff --git a/pb/arena_db.pb.go b/pb/arena_db.pb.go
index d735b3b61..4d69a9293 100644
--- a/pb/arena_db.pb.go
+++ b/pb/arena_db.pb.go
@@ -465,27 +465,29 @@ type DBArenaUser struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
- Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //玩家名称
- Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
- Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级
- Integral int32 `protobuf:"varint,5,opt,name=integral,proto3" json:"integral"` //积分
- Ticket int32 `protobuf:"varint,6,opt,name=ticket,proto3" json:"ticket"` //挑战券
- Dan int32 `protobuf:"varint,7,opt,name=dan,proto3" json:"dan"` //段位
- Attack *DBPlayerBattleFormt `protobuf:"bytes,8,opt,name=attack,proto3" json:"attack"` //进攻阵型
- Defend *DBPlayerBattleFormt `protobuf:"bytes,9,opt,name=defend,proto3" json:"defend"` //防守阵型
- Streak int32 `protobuf:"varint,10,opt,name=streak,proto3" json:"streak"` //连胜
- Attackrate int32 `protobuf:"varint,11,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率
- Defendrate int32 `protobuf:"varint,12,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率
- Rank int32 `protobuf:"varint,13,opt,name=rank,proto3" json:"rank"` //排名
- Buynum int32 `protobuf:"varint,14,opt,name=buynum,proto3" json:"buynum"` //购买次数
- Record []*DBArenaBattleRecord `protobuf:"bytes,15,rep,name=record,proto3" json:"record"` //战斗记录
- Lastrtickettime int64 `protobuf:"varint,16,opt,name=lastrtickettime,proto3" json:"lastrtickettime"` //最后领劵时间
- Attackwinuum int32 `protobuf:"varint,17,opt,name=attackwinuum,proto3" json:"attackwinuum"` //进攻胜利次数
- Attacktotaluum int32 `protobuf:"varint,18,opt,name=attacktotaluum,proto3" json:"attacktotaluum"` //进攻总次数
- Defendwinuum int32 `protobuf:"varint,19,opt,name=defendwinuum,proto3" json:"defendwinuum"` //防守胜利
- Defendtotaluum int32 `protobuf:"varint,20,opt,name=defendtotaluum,proto3" json:"defendtotaluum"` //防守总
- Loc []int32 `protobuf:"varint,21,rep,packed,name=loc,proto3" json:"loc"` //地图索引 匹配系统使用
+ Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //玩家名称
+ Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
+ Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级
+ Integral int32 `protobuf:"varint,5,opt,name=integral,proto3" json:"integral"` //积分
+ Ticket int32 `protobuf:"varint,6,opt,name=ticket,proto3" json:"ticket"` //挑战券
+ Dan int32 `protobuf:"varint,7,opt,name=dan,proto3" json:"dan"` //段位
+ Attack *DBPlayerBattleFormt `protobuf:"bytes,8,opt,name=attack,proto3" json:"attack"` //进攻阵型
+ Defend *DBPlayerBattleFormt `protobuf:"bytes,9,opt,name=defend,proto3" json:"defend"` //防守阵型
+ Streak int32 `protobuf:"varint,10,opt,name=streak,proto3" json:"streak"` //连胜
+ Attackrate int32 `protobuf:"varint,11,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率
+ Defendrate int32 `protobuf:"varint,12,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率
+ Rank int32 `protobuf:"varint,13,opt,name=rank,proto3" json:"rank"` //排名
+ Buynum int32 `protobuf:"varint,14,opt,name=buynum,proto3" json:"buynum"` //购买次数
+ Record []*DBArenaBattleRecord `protobuf:"bytes,15,rep,name=record,proto3" json:"record"` //战斗记录
+ Lastrtickettime int64 `protobuf:"varint,16,opt,name=lastrtickettime,proto3" json:"lastrtickettime"` //最后领劵时间
+ Attackwinuum int32 `protobuf:"varint,17,opt,name=attackwinuum,proto3" json:"attackwinuum"` //进攻胜利次数
+ Attacktotaluum int32 `protobuf:"varint,18,opt,name=attacktotaluum,proto3" json:"attacktotaluum"` //进攻总次数
+ Defendwinuum int32 `protobuf:"varint,19,opt,name=defendwinuum,proto3" json:"defendwinuum"` //防守胜利
+ Defendtotaluum int32 `protobuf:"varint,20,opt,name=defendtotaluum,proto3" json:"defendtotaluum"` //防守总
+ Loc []float64 `protobuf:"fixed64,21,rep,packed,name=loc,proto3" json:"loc"` //地图索引 匹配系统使用
+ Isdef bool `protobuf:"varint,22,opt,name=isdef,proto3" json:"isdef"` //是否设置防守
+ Npc map[int32]int64 `protobuf:"bytes,23,rep,name=npc,proto3" json:"npc" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // npc Cd
}
func (x *DBArenaUser) Reset() {
@@ -660,13 +662,27 @@ func (x *DBArenaUser) GetDefendtotaluum() int32 {
return 0
}
-func (x *DBArenaUser) GetLoc() []int32 {
+func (x *DBArenaUser) GetLoc() []float64 {
if x != nil {
return x.Loc
}
return nil
}
+func (x *DBArenaUser) GetIsdef() bool {
+ if x != nil {
+ return x.Isdef
+ }
+ return false
+}
+
+func (x *DBArenaUser) GetNpc() map[int32]int64 {
+ if x != nil {
+ return x.Npc
+ }
+ return nil
+}
+
var File_arena_arena_db_proto protoreflect.FileDescriptor
var file_arena_arena_db_proto_rawDesc = []byte{
@@ -720,7 +736,7 @@ var file_arena_arena_db_proto_rawDesc = []byte{
0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12,
0x28, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x83, 0x05, 0x0a, 0x0b, 0x44, 0x42,
+ 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xfa, 0x05, 0x0a, 0x0b, 0x44, 0x42,
0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
@@ -760,19 +776,26 @@ var file_arena_arena_db_proto_rawDesc = []byte{
0x69, 0x6e, 0x75, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64,
0x65, 0x66, 0x65, 0x6e, 0x64, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x75, 0x75, 0x6d, 0x12, 0x10, 0x0a,
- 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x2a,
- 0x9f, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x57,
- 0x69, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x4c, 0x6f,
- 0x73, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x6b, 0x57,
- 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x6f,
- 0x73, 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x52,
- 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x65,
- 0x6e, 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x52,
- 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10,
- 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x10,
- 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x15, 0x20, 0x03, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12,
+ 0x14, 0x0a, 0x05, 0x69, 0x73, 0x64, 0x65, 0x66, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
+ 0x69, 0x73, 0x64, 0x65, 0x66, 0x12, 0x27, 0x0a, 0x03, 0x6e, 0x70, 0x63, 0x18, 0x17, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x72,
+ 0x2e, 0x4e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6e, 0x70, 0x63, 0x1a, 0x36,
+ 0x0a, 0x08, 0x4e, 0x70, 0x63, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x9f, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09,
+ 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x73, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44,
+ 0x65, 0x66, 0x65, 0x6e, 0x64, 0x6b, 0x57, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44,
+ 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x73, 0x74, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x57,
+ 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12,
+ 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
+ 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63,
+ 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x76, 0x65,
+ 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -788,7 +811,7 @@ func file_arena_arena_db_proto_rawDescGZIP() []byte {
}
var file_arena_arena_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_arena_arena_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_arena_arena_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_arena_arena_db_proto_goTypes = []interface{}{
(BattleRecordState)(0), // 0: BattleRecordState
(*DBPlayerBattleFormt)(nil), // 1: DBPlayerBattleFormt
@@ -796,21 +819,23 @@ var file_arena_arena_db_proto_goTypes = []interface{}{
(*DBHeroBase)(nil), // 3: DBHeroBase
(*DBArenaBattleRecord)(nil), // 4: DBArenaBattleRecord
(*DBArenaUser)(nil), // 5: DBArenaUser
- (*DBHero)(nil), // 6: DBHero
+ nil, // 6: DBArenaUser.NpcEntry
+ (*DBHero)(nil), // 7: DBHero
}
var file_arena_arena_db_proto_depIdxs = []int32{
- 6, // 0: DBPlayerBattleFormt.formt:type_name -> DBHero
+ 7, // 0: DBPlayerBattleFormt.formt:type_name -> DBHero
1, // 1: ArenaPlayer.defend:type_name -> DBPlayerBattleFormt
3, // 2: DBArenaBattleRecord.formt:type_name -> DBHeroBase
0, // 3: DBArenaBattleRecord.State:type_name -> BattleRecordState
1, // 4: DBArenaUser.attack:type_name -> DBPlayerBattleFormt
1, // 5: DBArenaUser.defend:type_name -> DBPlayerBattleFormt
4, // 6: DBArenaUser.record:type_name -> DBArenaBattleRecord
- 7, // [7:7] is the sub-list for method output_type
- 7, // [7:7] is the sub-list for method input_type
- 7, // [7:7] is the sub-list for extension type_name
- 7, // [7:7] is the sub-list for extension extendee
- 0, // [0:7] is the sub-list for field type_name
+ 6, // 7: DBArenaUser.npc:type_name -> DBArenaUser.NpcEntry
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
}
func init() { file_arena_arena_db_proto_init() }
@@ -887,7 +912,7 @@ func file_arena_arena_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_arena_arena_db_proto_rawDesc,
NumEnums: 1,
- NumMessages: 5,
+ NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/pb/arena_msg.pb.go b/pb/arena_msg.pb.go
index a084c22bb..fba52df55 100644
--- a/pb/arena_msg.pb.go
+++ b/pb/arena_msg.pb.go
@@ -1054,6 +1054,228 @@ func (x *ArenaDelRewardResp) GetBid() string {
return ""
}
+//剧情战斗 请求
+type ArenaPlotReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid"` //剧情id
+ Battle *BattleFormation `protobuf:"bytes,2,opt,name=battle,proto3" json:"battle"` //战斗类型
+}
+
+func (x *ArenaPlotReq) Reset() {
+ *x = ArenaPlotReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_arena_arena_msg_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaPlotReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaPlotReq) ProtoMessage() {}
+
+func (x *ArenaPlotReq) ProtoReflect() protoreflect.Message {
+ mi := &file_arena_arena_msg_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArenaPlotReq.ProtoReflect.Descriptor instead.
+func (*ArenaPlotReq) Descriptor() ([]byte, []int) {
+ return file_arena_arena_msg_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *ArenaPlotReq) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *ArenaPlotReq) GetBattle() *BattleFormation {
+ if x != nil {
+ return x.Battle
+ }
+ return nil
+}
+
+type ArenaPlotResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Code ErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=ErrorCode" json:"code"` //是否成功
+ Pid int32 `protobuf:"varint,2,opt,name=pid,proto3" json:"pid"` //剧情id
+ Info *BattleInfo `protobuf:"bytes,3,opt,name=info,proto3" json:"info"`
+}
+
+func (x *ArenaPlotResp) Reset() {
+ *x = ArenaPlotResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_arena_arena_msg_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaPlotResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaPlotResp) ProtoMessage() {}
+
+func (x *ArenaPlotResp) ProtoReflect() protoreflect.Message {
+ mi := &file_arena_arena_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 ArenaPlotResp.ProtoReflect.Descriptor instead.
+func (*ArenaPlotResp) Descriptor() ([]byte, []int) {
+ return file_arena_arena_msg_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *ArenaPlotResp) GetCode() ErrorCode {
+ if x != nil {
+ return x.Code
+ }
+ return ErrorCode_Success
+}
+
+func (x *ArenaPlotResp) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *ArenaPlotResp) GetInfo() *BattleInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+//剧情战斗奖励领取 请求
+type ArenaPlotRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid"` //剧情id
+ Report *BattleReport `protobuf:"bytes,2,opt,name=report,proto3" json:"report"` //战报
+}
+
+func (x *ArenaPlotRewardReq) Reset() {
+ *x = ArenaPlotRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_arena_arena_msg_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaPlotRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaPlotRewardReq) ProtoMessage() {}
+
+func (x *ArenaPlotRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_arena_arena_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 ArenaPlotRewardReq.ProtoReflect.Descriptor instead.
+func (*ArenaPlotRewardReq) Descriptor() ([]byte, []int) {
+ return file_arena_arena_msg_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *ArenaPlotRewardReq) GetPid() int32 {
+ if x != nil {
+ return x.Pid
+ }
+ return 0
+}
+
+func (x *ArenaPlotRewardReq) GetReport() *BattleReport {
+ if x != nil {
+ return x.Report
+ }
+ return nil
+}
+
+type ArenaPlotRewardResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
+}
+
+func (x *ArenaPlotRewardResp) Reset() {
+ *x = ArenaPlotRewardResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_arena_arena_msg_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaPlotRewardResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaPlotRewardResp) ProtoMessage() {}
+
+func (x *ArenaPlotRewardResp) ProtoReflect() protoreflect.Message {
+ mi := &file_arena_arena_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 ArenaPlotRewardResp.ProtoReflect.Descriptor instead.
+func (*ArenaPlotRewardResp) Descriptor() ([]byte, []int) {
+ return file_arena_arena_msg_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *ArenaPlotRewardResp) GetIssucc() bool {
+ if x != nil {
+ return x.Issucc
+ }
+ return false
+}
+
var File_arena_arena_msg_proto protoreflect.FileDescriptor
var file_arena_arena_msg_proto_rawDesc = []byte{
@@ -1139,8 +1361,27 @@ var file_arena_arena_msg_proto_rawDesc = []byte{
0x3e, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x10, 0x0a,
- 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x42,
- 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x03, 0x62, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x22,
+ 0x4a, 0x0a, 0x0c, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 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, 0x62, 0x0a, 0x0d, 0x41,
+ 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72,
+ 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03,
+ 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x1f,
+ 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22,
+ 0x4d, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x03, 0x70, 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, 0x2d,
+ 0x0a, 0x13, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a,
+ 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1155,7 +1396,7 @@ func file_arena_arena_msg_proto_rawDescGZIP() []byte {
return file_arena_arena_msg_proto_rawDescData
}
-var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
+var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaInfoReq)(nil), // 0: ArenaInfoReq
(*ArenaInfoResp)(nil), // 1: ArenaInfoResp
@@ -1177,27 +1418,35 @@ var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaBuyResp)(nil), // 17: ArenaBuyResp
(*ArenaDelRewardReq)(nil), // 18: ArenaDelRewardReq
(*ArenaDelRewardResp)(nil), // 19: ArenaDelRewardResp
- (*DBArenaUser)(nil), // 20: DBArenaUser
- (*ArenaPlayer)(nil), // 21: ArenaPlayer
- (*BattleFormation)(nil), // 22: BattleFormation
- (ErrorCode)(0), // 23: ErrorCode
- (*BattleInfo)(nil), // 24: BattleInfo
- (*BattleReport)(nil), // 25: BattleReport
+ (*ArenaPlotReq)(nil), // 20: ArenaPlotReq
+ (*ArenaPlotResp)(nil), // 21: ArenaPlotResp
+ (*ArenaPlotRewardReq)(nil), // 22: ArenaPlotRewardReq
+ (*ArenaPlotRewardResp)(nil), // 23: ArenaPlotRewardResp
+ (*DBArenaUser)(nil), // 24: DBArenaUser
+ (*ArenaPlayer)(nil), // 25: ArenaPlayer
+ (*BattleFormation)(nil), // 26: BattleFormation
+ (ErrorCode)(0), // 27: ErrorCode
+ (*BattleInfo)(nil), // 28: BattleInfo
+ (*BattleReport)(nil), // 29: BattleReport
}
var file_arena_arena_msg_proto_depIdxs = []int32{
- 20, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
- 20, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser
- 21, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer
- 22, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation
- 23, // 4: ArenaChallengeResp.code:type_name -> ErrorCode
- 24, // 5: ArenaChallengeResp.info:type_name -> BattleInfo
- 25, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport
- 21, // 7: ArenaRankResp.players:type_name -> ArenaPlayer
- 8, // [8:8] is the sub-list for method output_type
- 8, // [8:8] is the sub-list for method input_type
- 8, // [8:8] is the sub-list for extension type_name
- 8, // [8:8] is the sub-list for extension extendee
- 0, // [0:8] is the sub-list for field type_name
+ 24, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
+ 24, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser
+ 25, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer
+ 26, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation
+ 27, // 4: ArenaChallengeResp.code:type_name -> ErrorCode
+ 28, // 5: ArenaChallengeResp.info:type_name -> BattleInfo
+ 29, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport
+ 25, // 7: ArenaRankResp.players:type_name -> ArenaPlayer
+ 26, // 8: ArenaPlotReq.battle:type_name -> BattleFormation
+ 27, // 9: ArenaPlotResp.code:type_name -> ErrorCode
+ 28, // 10: ArenaPlotResp.info:type_name -> BattleInfo
+ 29, // 11: ArenaPlotRewardReq.report:type_name -> BattleReport
+ 12, // [12:12] is the sub-list for method output_type
+ 12, // [12:12] is the sub-list for method input_type
+ 12, // [12:12] is the sub-list for extension type_name
+ 12, // [12:12] is the sub-list for extension extendee
+ 0, // [0:12] is the sub-list for field type_name
}
func init() { file_arena_arena_msg_proto_init() }
@@ -1449,6 +1698,54 @@ func file_arena_arena_msg_proto_init() {
return nil
}
}
+ file_arena_arena_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaPlotReq); 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[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaPlotResp); 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[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaPlotRewardReq); 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[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaPlotRewardResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -1456,7 +1753,7 @@ func file_arena_arena_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_arena_arena_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 20,
+ NumMessages: 24,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/pb/battle_db.pb.go b/pb/battle_db.pb.go
index f9db83f44..604d55590 100644
--- a/pb/battle_db.pb.go
+++ b/pb/battle_db.pb.go
@@ -83,6 +83,7 @@ const (
PlayType_hunting PlayType = 4 //狩猎
PlayType_viking PlayType = 5 //维京远征
PlayType_moonfantasy PlayType = 6 //月之秘境
+ PlayType_arena PlayType = 7 //竞技场
)
// Enum value maps for PlayType.
@@ -95,6 +96,7 @@ var (
4: "hunting",
5: "viking",
6: "moonfantasy",
+ 7: "arena",
}
PlayType_value = map[string]int32{
"null": 0,
@@ -104,6 +106,7 @@ var (
"hunting": 4,
"viking": 5,
"moonfantasy": 6,
+ "arena": 7,
}
)
@@ -624,19 +627,20 @@ var file_battle_battle_db_proto_rawDesc = []byte{
0x6f, 0x6d, 0x70, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2a, 0x30, 0x0a, 0x0a, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x6e, 0x69, 0x6c,
0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x65, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x70,
- 0x76, 0x70, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x62, 0x10, 0x03, 0x2a, 0x63, 0x0a,
+ 0x76, 0x70, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x62, 0x10, 0x03, 0x2a, 0x6e, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x75, 0x6c,
0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10,
0x01, 0x12, 0x0a, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x10, 0x02, 0x12, 0x09, 0x0a,
0x05, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10,
0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79,
- 0x10, 0x06, 0x2a, 0x1f, 0x0a, 0x0c, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e,
- 0x64, 0x10, 0x02, 0x2a, 0x2b, 0x0a, 0x0c, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43,
- 0x6f, 0x6d, 0x70, 0x12, 0x08, 0x0a, 0x04, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a,
- 0x03, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02,
- 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x07, 0x2a, 0x1f, 0x0a,
+ 0x0c, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a,
+ 0x02, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x10, 0x02, 0x2a, 0x2b,
+ 0x0a, 0x0c, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x08,
+ 0x0a, 0x04, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10,
+ 0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e,
+ 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go
index b0788bab8..759222811 100644
--- a/pb/errorcode.pb.go
+++ b/pb/errorcode.pb.go
@@ -198,19 +198,31 @@ const (
// Battle
ErrorCode_BattleValidationFailed ErrorCode = 2901 //战斗校验失败
// sociaty
- ErrorCode_SociatyNoFound ErrorCode = 3000 //公会不存在
- ErrorCode_SociatyAdded ErrorCode = 3001 //已在公会里
- ErrorCode_SociatyDiamondNoEnough ErrorCode = 3002 //钻石不足
- ErrorCode_SociatyApply ErrorCode = 3003 //申请失败
- ErrorCode_SociatyNoRight ErrorCode = 3004 //无权限
- ErrorCode_SociatyNoAdded ErrorCode = 3005 //未加入公会
- ErrorCode_SociatyDismiss ErrorCode = 3006 //解散失败
- ErrorCode_SociatyQuit ErrorCode = 3007 //退会失败
- ErrorCode_SociatyAgree ErrorCode = 3008 //申请-同意失败
- ErrorCode_SociatyRefuse ErrorCode = 3009 //申请-拒绝失败
+ ErrorCode_SociatyNoFound ErrorCode = 3000 //公会不存在
+ ErrorCode_SociatyAdded ErrorCode = 3001 //已在公会里
+ ErrorCode_SociatyDiamondNoEnough ErrorCode = 3002 //钻石不足
+ ErrorCode_SociatyApply ErrorCode = 3003 //申请失败
+ ErrorCode_SociatyNoRight ErrorCode = 3004 //无权限
+ ErrorCode_SociatyNoAdded ErrorCode = 3005 //未加入公会
+ ErrorCode_SociatyDismiss ErrorCode = 3006 //解散失败
+ ErrorCode_SociatyQuit ErrorCode = 3007 //退会失败
+ ErrorCode_SociatyAgree ErrorCode = 3008 //申请-同意失败
+ ErrorCode_SociatyRefuse ErrorCode = 3009 //申请-拒绝失败
+ ErrorCode_SociatyAssign ErrorCode = 30010 //公会转让失败
+ ErrorCode_SociatyDischarge ErrorCode = 30011 //踢出失败
+ ErrorCode_SociatySettingJob ErrorCode = 30012 //设置职位失败
+ ErrorCode_SociatySetting ErrorCode = 30013 //公会修改失败
+ ErrorCode_SociatyAccuse ErrorCode = 30014 //弹劾失败
+ ErrorCode_SociatySign ErrorCode = 30015 //签到失败
+ ErrorCode_SociatySigned ErrorCode = 30016 //已签到
+ ErrorCode_SociatyCDLimit ErrorCode = 30017 // CD时间限制
+ ErrorCode_SociatyApplyMax ErrorCode = 30018 //最大申请该公会人数
+ ErrorCode_SociatySelfSetting ErrorCode = 30019 // 不能设置自己
+ ErrorCode_SociatyMemberCountLimit ErrorCode = 30020 //超出人数限制
// arena
ErrorCode_ArenaTicketBuyUp ErrorCode = 3101 //票据上限
ErrorCode_ArenaTicketNotEnough ErrorCode = 3102 //票据不足
+ ErrorCode_ArenaTicketNpcInCd ErrorCode = 3103 // cd中
// talent
ErrorCode_TalentRepeatLearn ErrorCode = 3201 // 天赋已学习
ErrorCode_TalentErrData ErrorCode = 3202 /// 天赋不存在
@@ -221,178 +233,190 @@ const (
// Enum value maps for ErrorCode.
var (
ErrorCode_name = map[int32]string{
- 0: "Success",
- 10: "NoFindService",
- 11: "NoFindServiceHandleFunc",
- 12: "RpcFuncExecutionError",
- 13: "CacheReadError",
- 14: "SqlExecutionError",
- 15: "ReqParameterError",
- 16: "SignError",
- 17: "InsufficientPermissions",
- 18: "NoLogin",
- 19: "UserSessionNobeing",
- 20: "StateInvalid",
- 21: "DBError",
- 22: "SystemError",
- 23: "DecodeError",
- 24: "TimestampTimeout",
- 25: "PbError",
- 26: "AgentUidEmpty",
- 100: "Exception",
- 101: "Unknown",
- 102: "ResNoEnough",
- 103: "ConfigurationException",
- 104: "ConfigNoFound",
- 105: "UserLogined",
- 1000: "SecKeyInvalid",
- 1001: "SecKey",
- 1002: "BindUser",
- 1003: "GoldNoEnough",
- 1004: "DiamondNoEnough",
- 1005: "RoleCreated",
- 1006: "UserNickNameExist",
- 1007: "VeriCodeNoValid",
- 1008: "VeriCodeExpired",
- 1009: "UserResetData",
- 1010: "UserModiNameCount",
- 1011: "UserNickNameEmpty",
- 1012: "UserExpandNull",
- 1013: "UserExpNoEnough",
- 1014: "UserFriendNoEnough",
- 1100: "FriendNotSelf",
- 1101: "FriendSelfMax",
- 1102: "FriendTargetMax",
- 1103: "FriendSelfNoData",
- 1104: "FriendTargetNoData",
- 1105: "FriendYet",
- 1106: "FriendApplyYet",
- 1107: "FriendSelfBlackYet",
- 1108: "FriendTargetBlackYet",
- 1109: "FriendApplyError",
- 1110: "FriendBlackMax",
- 1111: "FriendSearchNameEmpty",
- 1112: "FriendZaned",
- 1113: "FriendZanreceived",
- 1114: "FriendZanSelf",
- 1115: "FriendPointLimit",
- 1116: "FriendNoreceived",
- 1200: "ItemsNoEnough",
- 1201: "ItemsNoFoundGird",
- 1202: "ItemsGridNumUpper",
- 1203: "ItemsGirdAmountUpper",
- 1204: "ItemsUseNotSupported",
- 1205: "ItemsUseNoCanSell",
- 1300: "HeroNoExist",
- 1301: "HeroNoEnough",
- 1302: "HeroMaxLv",
- 1303: "HeroInitCreat",
- 1304: "HeroColorErr",
- 1305: "HeroSkillUpErr",
- 1306: "HeroMaxResonate",
- 1307: "HeroNoResonate",
- 1308: "HeroNotNeedResonate",
- 1309: "HeroNoEnergy",
- 1310: "HeroCreate",
- 1311: "HeroEquipUpdate",
- 1312: "HeroMaxAwaken",
- 1313: "HeroIsLock",
- 1314: "HeroMaxCount",
- 1315: "HeroCostTypeErr",
- 1316: "HeroStarErr",
- 1317: "HeroTypeErr",
- 1318: "HeroExpTypeErr",
- 1319: "HeroAddMaxExp",
- 1320: "HeroStarLvErr",
- 1321: "HeroMaxStarLv",
- 1322: "DrawCardTypeNotFound",
- 1323: "HeroMaxSkillLv",
- 1324: "HeroAlreadyKongFuStatus",
- 1400: "EquipmentOnFoundEquipment",
- 1401: "EquipmentLvlimitReached",
- 1402: "EquipmentIsWorn",
- 1403: "EquipmentNoCanSell",
- 1500: "MainlineNotFindChapter",
- 1501: "MainlineIDFailed",
- 1502: "MainlineNotFound",
- 1503: "MainlinePreNotFound",
- 1504: "MainlineRepeatReward",
- 1505: "MainlineCompleteReward",
- 1600: "TaskInit",
- 1601: "TaskReset",
- 1602: "TaskHandle",
- 1603: "TaskReceived",
- 1604: "TaskActiveInit",
- 1605: "TaskActiveNofound",
- 1606: "TaskActiveNoenough",
- 1607: "TaskNoFinished",
- 1608: "TaskFinished",
- 1609: "TaskTagEmpty",
- 1610: "TaskIdEmpty",
- 1611: "TaskNotFound",
- 1700: "ShopGoodsIsSoldOut",
- 1701: "ShopNoSurplusRefreshNum",
- 1800: "MailErr",
- 1900: "PagodaNotFound",
- 1901: "PagodaLevlErr",
- 1902: "PagodaGetRewardErr",
- 1903: "PagodaConditionErr",
- 2000: "MartialhallNotUnlocked",
- 2001: "MartialhallInUse",
- 2002: "MartialhallUnlocked",
- 2003: "MartialhallNoUnlocked",
- 2101: "GourmetMoreOrderTime",
- 2102: "GourmetSkillMaxLv",
- 2201: "RtaskFinished",
- 2202: "RtaskUnFinished",
- 2203: "RtaskNoRtask",
- 2204: "RtaskRewarded",
- 2205: "RtaskPreNoFinish",
- 2206: "RtaskCondiNoReach",
- 2207: "RtaskNoLastOne",
- 2208: "RtaskCondiNoFound",
- 2301: "VikingLvErr",
- 2302: "VikingBoosType",
- 2303: "VikingBuyMaxCount",
- 2304: "VikingMaxChallengeCount",
- 2401: "MoonfantasyHasExpired",
- 2402: "MoonfantasyJoinUp",
- 2403: "MoonfantasyDareUp",
- 2404: "MoonfantasyBattleNoEnd",
- 2405: "MoonfantasyBattleNoWin",
- 2406: "MoonfantasyNoJoin",
- 2407: "MoonfantasyNotEnoughbattles",
- 2501: "BattleNoFoundRecord",
- 2601: "LinestoryTaskFinished",
- 2602: "LinestorySubTaskFinished",
- 2603: "LinestoryTaskDisabledEnter",
- 2604: "LinestoryPreTaskNoFinished",
- 2701: "HuntingLvErr",
- 2702: "HuntingBoosType",
- 2703: "HuntingBuyMaxCount",
- 2704: "HuntingMaxChallengeCount",
- 2801: "LibraryMaxLv",
- 2802: "LibraryNoData",
- 2803: "LibraryActivation",
- 2804: "LibraryReward",
- 2805: "LibraryLvReward",
- 2901: "BattleValidationFailed",
- 3000: "SociatyNoFound",
- 3001: "SociatyAdded",
- 3002: "SociatyDiamondNoEnough",
- 3003: "SociatyApply",
- 3004: "SociatyNoRight",
- 3005: "SociatyNoAdded",
- 3006: "SociatyDismiss",
- 3007: "SociatyQuit",
- 3008: "SociatyAgree",
- 3009: "SociatyRefuse",
- 3101: "ArenaTicketBuyUp",
- 3102: "ArenaTicketNotEnough",
- 3201: "TalentRepeatLearn",
- 3202: "TalentErrData",
- 3203: "TalentUnLockerBefore",
- 3204: "TalentResetState",
+ 0: "Success",
+ 10: "NoFindService",
+ 11: "NoFindServiceHandleFunc",
+ 12: "RpcFuncExecutionError",
+ 13: "CacheReadError",
+ 14: "SqlExecutionError",
+ 15: "ReqParameterError",
+ 16: "SignError",
+ 17: "InsufficientPermissions",
+ 18: "NoLogin",
+ 19: "UserSessionNobeing",
+ 20: "StateInvalid",
+ 21: "DBError",
+ 22: "SystemError",
+ 23: "DecodeError",
+ 24: "TimestampTimeout",
+ 25: "PbError",
+ 26: "AgentUidEmpty",
+ 100: "Exception",
+ 101: "Unknown",
+ 102: "ResNoEnough",
+ 103: "ConfigurationException",
+ 104: "ConfigNoFound",
+ 105: "UserLogined",
+ 1000: "SecKeyInvalid",
+ 1001: "SecKey",
+ 1002: "BindUser",
+ 1003: "GoldNoEnough",
+ 1004: "DiamondNoEnough",
+ 1005: "RoleCreated",
+ 1006: "UserNickNameExist",
+ 1007: "VeriCodeNoValid",
+ 1008: "VeriCodeExpired",
+ 1009: "UserResetData",
+ 1010: "UserModiNameCount",
+ 1011: "UserNickNameEmpty",
+ 1012: "UserExpandNull",
+ 1013: "UserExpNoEnough",
+ 1014: "UserFriendNoEnough",
+ 1100: "FriendNotSelf",
+ 1101: "FriendSelfMax",
+ 1102: "FriendTargetMax",
+ 1103: "FriendSelfNoData",
+ 1104: "FriendTargetNoData",
+ 1105: "FriendYet",
+ 1106: "FriendApplyYet",
+ 1107: "FriendSelfBlackYet",
+ 1108: "FriendTargetBlackYet",
+ 1109: "FriendApplyError",
+ 1110: "FriendBlackMax",
+ 1111: "FriendSearchNameEmpty",
+ 1112: "FriendZaned",
+ 1113: "FriendZanreceived",
+ 1114: "FriendZanSelf",
+ 1115: "FriendPointLimit",
+ 1116: "FriendNoreceived",
+ 1200: "ItemsNoEnough",
+ 1201: "ItemsNoFoundGird",
+ 1202: "ItemsGridNumUpper",
+ 1203: "ItemsGirdAmountUpper",
+ 1204: "ItemsUseNotSupported",
+ 1205: "ItemsUseNoCanSell",
+ 1300: "HeroNoExist",
+ 1301: "HeroNoEnough",
+ 1302: "HeroMaxLv",
+ 1303: "HeroInitCreat",
+ 1304: "HeroColorErr",
+ 1305: "HeroSkillUpErr",
+ 1306: "HeroMaxResonate",
+ 1307: "HeroNoResonate",
+ 1308: "HeroNotNeedResonate",
+ 1309: "HeroNoEnergy",
+ 1310: "HeroCreate",
+ 1311: "HeroEquipUpdate",
+ 1312: "HeroMaxAwaken",
+ 1313: "HeroIsLock",
+ 1314: "HeroMaxCount",
+ 1315: "HeroCostTypeErr",
+ 1316: "HeroStarErr",
+ 1317: "HeroTypeErr",
+ 1318: "HeroExpTypeErr",
+ 1319: "HeroAddMaxExp",
+ 1320: "HeroStarLvErr",
+ 1321: "HeroMaxStarLv",
+ 1322: "DrawCardTypeNotFound",
+ 1323: "HeroMaxSkillLv",
+ 1324: "HeroAlreadyKongFuStatus",
+ 1400: "EquipmentOnFoundEquipment",
+ 1401: "EquipmentLvlimitReached",
+ 1402: "EquipmentIsWorn",
+ 1403: "EquipmentNoCanSell",
+ 1500: "MainlineNotFindChapter",
+ 1501: "MainlineIDFailed",
+ 1502: "MainlineNotFound",
+ 1503: "MainlinePreNotFound",
+ 1504: "MainlineRepeatReward",
+ 1505: "MainlineCompleteReward",
+ 1600: "TaskInit",
+ 1601: "TaskReset",
+ 1602: "TaskHandle",
+ 1603: "TaskReceived",
+ 1604: "TaskActiveInit",
+ 1605: "TaskActiveNofound",
+ 1606: "TaskActiveNoenough",
+ 1607: "TaskNoFinished",
+ 1608: "TaskFinished",
+ 1609: "TaskTagEmpty",
+ 1610: "TaskIdEmpty",
+ 1611: "TaskNotFound",
+ 1700: "ShopGoodsIsSoldOut",
+ 1701: "ShopNoSurplusRefreshNum",
+ 1800: "MailErr",
+ 1900: "PagodaNotFound",
+ 1901: "PagodaLevlErr",
+ 1902: "PagodaGetRewardErr",
+ 1903: "PagodaConditionErr",
+ 2000: "MartialhallNotUnlocked",
+ 2001: "MartialhallInUse",
+ 2002: "MartialhallUnlocked",
+ 2003: "MartialhallNoUnlocked",
+ 2101: "GourmetMoreOrderTime",
+ 2102: "GourmetSkillMaxLv",
+ 2201: "RtaskFinished",
+ 2202: "RtaskUnFinished",
+ 2203: "RtaskNoRtask",
+ 2204: "RtaskRewarded",
+ 2205: "RtaskPreNoFinish",
+ 2206: "RtaskCondiNoReach",
+ 2207: "RtaskNoLastOne",
+ 2208: "RtaskCondiNoFound",
+ 2301: "VikingLvErr",
+ 2302: "VikingBoosType",
+ 2303: "VikingBuyMaxCount",
+ 2304: "VikingMaxChallengeCount",
+ 2401: "MoonfantasyHasExpired",
+ 2402: "MoonfantasyJoinUp",
+ 2403: "MoonfantasyDareUp",
+ 2404: "MoonfantasyBattleNoEnd",
+ 2405: "MoonfantasyBattleNoWin",
+ 2406: "MoonfantasyNoJoin",
+ 2407: "MoonfantasyNotEnoughbattles",
+ 2501: "BattleNoFoundRecord",
+ 2601: "LinestoryTaskFinished",
+ 2602: "LinestorySubTaskFinished",
+ 2603: "LinestoryTaskDisabledEnter",
+ 2604: "LinestoryPreTaskNoFinished",
+ 2701: "HuntingLvErr",
+ 2702: "HuntingBoosType",
+ 2703: "HuntingBuyMaxCount",
+ 2704: "HuntingMaxChallengeCount",
+ 2801: "LibraryMaxLv",
+ 2802: "LibraryNoData",
+ 2803: "LibraryActivation",
+ 2804: "LibraryReward",
+ 2805: "LibraryLvReward",
+ 2901: "BattleValidationFailed",
+ 3000: "SociatyNoFound",
+ 3001: "SociatyAdded",
+ 3002: "SociatyDiamondNoEnough",
+ 3003: "SociatyApply",
+ 3004: "SociatyNoRight",
+ 3005: "SociatyNoAdded",
+ 3006: "SociatyDismiss",
+ 3007: "SociatyQuit",
+ 3008: "SociatyAgree",
+ 3009: "SociatyRefuse",
+ 30010: "SociatyAssign",
+ 30011: "SociatyDischarge",
+ 30012: "SociatySettingJob",
+ 30013: "SociatySetting",
+ 30014: "SociatyAccuse",
+ 30015: "SociatySign",
+ 30016: "SociatySigned",
+ 30017: "SociatyCDLimit",
+ 30018: "SociatyApplyMax",
+ 30019: "SociatySelfSetting",
+ 30020: "SociatyMemberCountLimit",
+ 3101: "ArenaTicketBuyUp",
+ 3102: "ArenaTicketNotEnough",
+ 3103: "ArenaTicketNpcInCd",
+ 3201: "TalentRepeatLearn",
+ 3202: "TalentErrData",
+ 3203: "TalentUnLockerBefore",
+ 3204: "TalentResetState",
}
ErrorCode_value = map[string]int32{
"Success": 0,
@@ -561,8 +585,20 @@ var (
"SociatyQuit": 3007,
"SociatyAgree": 3008,
"SociatyRefuse": 3009,
+ "SociatyAssign": 30010,
+ "SociatyDischarge": 30011,
+ "SociatySettingJob": 30012,
+ "SociatySetting": 30013,
+ "SociatyAccuse": 30014,
+ "SociatySign": 30015,
+ "SociatySigned": 30016,
+ "SociatyCDLimit": 30017,
+ "SociatyApplyMax": 30018,
+ "SociatySelfSetting": 30019,
+ "SociatyMemberCountLimit": 30020,
"ArenaTicketBuyUp": 3101,
"ArenaTicketNotEnough": 3102,
+ "ArenaTicketNpcInCd": 3103,
"TalentRepeatLearn": 3201,
"TalentErrData": 3202,
"TalentUnLockerBefore": 3203,
@@ -601,7 +637,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2a, 0xf6, 0x1d, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x6f, 0x2a, 0x8e, 0x20, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
@@ -831,17 +867,35 @@ var file_errorcode_proto_rawDesc = []byte{
0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74,
0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67,
0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
- 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72,
- 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d,
- 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74,
- 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x16, 0x0a, 0x11,
- 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72,
- 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72,
- 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65,
- 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65,
- 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
- 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
- 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x10, 0xba, 0xea, 0x01, 0x12,
+ 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, 0x61,
+ 0x72, 0x67, 0x65, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01,
+ 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
+ 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13,
+ 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10,
+ 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63,
+ 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01,
+ 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65,
+ 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18,
+ 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e,
+ 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41,
+ 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43,
+ 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d,
+ 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19,
+ 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b,
+ 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54,
+ 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10,
+ 0x84, 0x19, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
diff --git a/pb/troll_db.pb.go b/pb/troll_db.pb.go
new file mode 100644
index 000000000..165a4e500
--- /dev/null
+++ b/pb/troll_db.pb.go
@@ -0,0 +1,261 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: troll/troll_db.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// 巨怪列车
+type DBTrollTrain struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
+ Items map[int32]int32 `protobuf:"bytes,3,rep,name=items,proto3" json:"items" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 货物
+ GridNum int32 `protobuf:"varint,4,opt,name=gridNum,proto3" json:"gridNum" bson:"gridNum"` //当前使用格子数量
+ TarinPos int32 `protobuf:"varint,5,opt,name=tarinPos,proto3" json:"tarinPos" bson:"tarinPos"` //火车位置
+ RangeId int32 `protobuf:"varint,6,opt,name=rangeId,proto3" json:"rangeId" bson:"rangeId"` //增长幅度
+ Buy int32 `protobuf:"varint,7,opt,name=buy,proto3" json:"buy"` // 挂机进货标准/千分比
+ Sell int32 `protobuf:"varint,8,opt,name=sell,proto3" json:"sell"` //挂机卖出标准/千分比
+ NpcLv int32 `protobuf:"varint,9,opt,name=npcLv,proto3" json:"npcLv" bson:"npcLv"` //npc 等级
+ NpcReward map[int32]int32 `protobuf:"bytes,10,rep,name=npcReward,proto3" json:"npcReward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"npcReward"` //npc奖励
+ TotalEarn int64 `protobuf:"varint,11,opt,name=totalEarn,proto3" json:"totalEarn" bson:"totalEarn"` //累计赚的钱
+ Ctime int64 `protobuf:"varint,12,opt,name=ctime,proto3" json:"ctime"`
+}
+
+func (x *DBTrollTrain) Reset() {
+ *x = DBTrollTrain{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_db_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBTrollTrain) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBTrollTrain) ProtoMessage() {}
+
+func (x *DBTrollTrain) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_db_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBTrollTrain.ProtoReflect.Descriptor instead.
+func (*DBTrollTrain) Descriptor() ([]byte, []int) {
+ return file_troll_troll_db_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DBTrollTrain) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *DBTrollTrain) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+func (x *DBTrollTrain) GetItems() map[int32]int32 {
+ if x != nil {
+ return x.Items
+ }
+ return nil
+}
+
+func (x *DBTrollTrain) GetGridNum() int32 {
+ if x != nil {
+ return x.GridNum
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetTarinPos() int32 {
+ if x != nil {
+ return x.TarinPos
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetRangeId() int32 {
+ if x != nil {
+ return x.RangeId
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetBuy() int32 {
+ if x != nil {
+ return x.Buy
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetSell() int32 {
+ if x != nil {
+ return x.Sell
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetNpcLv() int32 {
+ if x != nil {
+ return x.NpcLv
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetNpcReward() map[int32]int32 {
+ if x != nil {
+ return x.NpcReward
+ }
+ return nil
+}
+
+func (x *DBTrollTrain) GetTotalEarn() int64 {
+ if x != nil {
+ return x.TotalEarn
+ }
+ return 0
+}
+
+func (x *DBTrollTrain) GetCtime() int64 {
+ if x != nil {
+ return x.Ctime
+ }
+ return 0
+}
+
+var File_troll_troll_db_proto protoreflect.FileDescriptor
+
+var file_troll_troll_db_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x62,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x54, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x69, 0x74, 0x65,
+ 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x69,
+ 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, 0x69, 0x64,
+ 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73,
+ 0x65, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x6c, 0x12,
+ 0x14, 0x0a, 0x05, 0x6e, 0x70, 0x63, 0x4c, 0x76, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+ 0x6e, 0x70, 0x63, 0x4c, 0x76, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x61, 0x72, 0x6e, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x61, 0x72, 0x6e, 0x12,
+ 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
+ 0x63, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 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,
+ 0x3c, 0x0a, 0x0e, 0x4e, 0x70, 0x63, 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, 0x05, 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 (
+ file_troll_troll_db_proto_rawDescOnce sync.Once
+ file_troll_troll_db_proto_rawDescData = file_troll_troll_db_proto_rawDesc
+)
+
+func file_troll_troll_db_proto_rawDescGZIP() []byte {
+ file_troll_troll_db_proto_rawDescOnce.Do(func() {
+ file_troll_troll_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_troll_troll_db_proto_rawDescData)
+ })
+ return file_troll_troll_db_proto_rawDescData
+}
+
+var file_troll_troll_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_troll_troll_db_proto_goTypes = []interface{}{
+ (*DBTrollTrain)(nil), // 0: DBTrollTrain
+ nil, // 1: DBTrollTrain.ItemsEntry
+ nil, // 2: DBTrollTrain.NpcRewardEntry
+}
+var file_troll_troll_db_proto_depIdxs = []int32{
+ 1, // 0: DBTrollTrain.items:type_name -> DBTrollTrain.ItemsEntry
+ 2, // 1: DBTrollTrain.npcReward:type_name -> DBTrollTrain.NpcRewardEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_troll_troll_db_proto_init() }
+func file_troll_troll_db_proto_init() {
+ if File_troll_troll_db_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_troll_troll_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBTrollTrain); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_troll_troll_db_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_troll_troll_db_proto_goTypes,
+ DependencyIndexes: file_troll_troll_db_proto_depIdxs,
+ MessageInfos: file_troll_troll_db_proto_msgTypes,
+ }.Build()
+ File_troll_troll_db_proto = out.File
+ file_troll_troll_db_proto_rawDesc = nil
+ file_troll_troll_db_proto_goTypes = nil
+ file_troll_troll_db_proto_depIdxs = nil
+}
diff --git a/pb/troll_msg.pb.go b/pb/troll_msg.pb.go
new file mode 100644
index 000000000..0a106c6c2
--- /dev/null
+++ b/pb/troll_msg.pb.go
@@ -0,0 +1,602 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: troll/troll_msg.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// 查询进度
+type TrollGetListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TrollGetListReq) Reset() {
+ *x = TrollGetListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollGetListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollGetListReq) ProtoMessage() {}
+
+func (x *TrollGetListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollGetListReq.ProtoReflect.Descriptor instead.
+func (*TrollGetListReq) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{0}
+}
+
+// 返回进度信息
+type TrollGetListResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *TrollGetListResp) Reset() {
+ *x = TrollGetListResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollGetListResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollGetListResp) ProtoMessage() {}
+
+func (x *TrollGetListResp) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollGetListResp.ProtoReflect.Descriptor instead.
+func (*TrollGetListResp) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *TrollGetListResp) GetData() *DBTrollTrain {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// 买卖货物
+type TrollBuyOrSellReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Items map[int32]int32 `protobuf:"bytes,1,rep,name=items,proto3" json:"items" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //买入货物的数量(负数为卖)
+}
+
+func (x *TrollBuyOrSellReq) Reset() {
+ *x = TrollBuyOrSellReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollBuyOrSellReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollBuyOrSellReq) ProtoMessage() {}
+
+func (x *TrollBuyOrSellReq) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollBuyOrSellReq.ProtoReflect.Descriptor instead.
+func (*TrollBuyOrSellReq) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *TrollBuyOrSellReq) GetItems() map[int32]int32 {
+ if x != nil {
+ return x.Items
+ }
+ return nil
+}
+
+type TrollBuyOrSellResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *TrollBuyOrSellResp) Reset() {
+ *x = TrollBuyOrSellResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollBuyOrSellResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollBuyOrSellResp) ProtoMessage() {}
+
+func (x *TrollBuyOrSellResp) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollBuyOrSellResp.ProtoReflect.Descriptor instead.
+func (*TrollBuyOrSellResp) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *TrollBuyOrSellResp) GetData() *DBTrollTrain {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// afk 设置
+type TrollAfkSetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Buy int32 `protobuf:"varint,1,opt,name=buy,proto3" json:"buy"`
+ Sell int32 `protobuf:"varint,2,opt,name=sell,proto3" json:"sell"`
+}
+
+func (x *TrollAfkSetReq) Reset() {
+ *x = TrollAfkSetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollAfkSetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollAfkSetReq) ProtoMessage() {}
+
+func (x *TrollAfkSetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_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 TrollAfkSetReq.ProtoReflect.Descriptor instead.
+func (*TrollAfkSetReq) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *TrollAfkSetReq) GetBuy() int32 {
+ if x != nil {
+ return x.Buy
+ }
+ return 0
+}
+
+func (x *TrollAfkSetReq) GetSell() int32 {
+ if x != nil {
+ return x.Sell
+ }
+ return 0
+}
+
+type TrollAfkSetResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *TrollAfkSetResp) Reset() {
+ *x = TrollAfkSetResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollAfkSetResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollAfkSetResp) ProtoMessage() {}
+
+func (x *TrollAfkSetResp) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[5]
+ 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 TrollAfkSetResp.ProtoReflect.Descriptor instead.
+func (*TrollAfkSetResp) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *TrollAfkSetResp) GetData() *DBTrollTrain {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// npv等级奖励
+type TrollNpcRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId int32 `protobuf:"varint,1,opt,name=rewardId,proto3" json:"rewardId"`
+}
+
+func (x *TrollNpcRewardReq) Reset() {
+ *x = TrollNpcRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollNpcRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollNpcRewardReq) ProtoMessage() {}
+
+func (x *TrollNpcRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollNpcRewardReq.ProtoReflect.Descriptor instead.
+func (*TrollNpcRewardReq) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *TrollNpcRewardReq) GetRewardId() int32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+type TrollNpcRewardResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *TrollNpcRewardResp) Reset() {
+ *x = TrollNpcRewardResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_troll_troll_msg_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrollNpcRewardResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrollNpcRewardResp) ProtoMessage() {}
+
+func (x *TrollNpcRewardResp) ProtoReflect() protoreflect.Message {
+ mi := &file_troll_troll_msg_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrollNpcRewardResp.ProtoReflect.Descriptor instead.
+func (*TrollNpcRewardResp) Descriptor() ([]byte, []int) {
+ return file_troll_troll_msg_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *TrollNpcRewardResp) GetData() *DBTrollTrain {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+var File_troll_troll_msg_proto protoreflect.FileDescriptor
+
+var file_troll_troll_msg_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x73,
+ 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a,
+ 0x0f, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x22, 0x35, 0x0a, 0x10, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69,
+ 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a,
+ 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x54,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71,
+ 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65,
+ 0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 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, 0x37, 0x0a, 0x12,
+ 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65,
+ 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52,
+ 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x66,
+ 0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x6c, 0x22, 0x34, 0x0a,
+ 0x0f, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x66, 0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70,
+ 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x64,
+ 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x70, 0x63, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x12, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x70, 0x63,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a,
+ 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_troll_troll_msg_proto_rawDescOnce sync.Once
+ file_troll_troll_msg_proto_rawDescData = file_troll_troll_msg_proto_rawDesc
+)
+
+func file_troll_troll_msg_proto_rawDescGZIP() []byte {
+ file_troll_troll_msg_proto_rawDescOnce.Do(func() {
+ file_troll_troll_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_troll_troll_msg_proto_rawDescData)
+ })
+ return file_troll_troll_msg_proto_rawDescData
+}
+
+var file_troll_troll_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
+var file_troll_troll_msg_proto_goTypes = []interface{}{
+ (*TrollGetListReq)(nil), // 0: TrollGetListReq
+ (*TrollGetListResp)(nil), // 1: TrollGetListResp
+ (*TrollBuyOrSellReq)(nil), // 2: TrollBuyOrSellReq
+ (*TrollBuyOrSellResp)(nil), // 3: TrollBuyOrSellResp
+ (*TrollAfkSetReq)(nil), // 4: TrollAfkSetReq
+ (*TrollAfkSetResp)(nil), // 5: TrollAfkSetResp
+ (*TrollNpcRewardReq)(nil), // 6: TrollNpcRewardReq
+ (*TrollNpcRewardResp)(nil), // 7: TrollNpcRewardResp
+ nil, // 8: TrollBuyOrSellReq.ItemsEntry
+ (*DBTrollTrain)(nil), // 9: DBTrollTrain
+}
+var file_troll_troll_msg_proto_depIdxs = []int32{
+ 9, // 0: TrollGetListResp.data:type_name -> DBTrollTrain
+ 8, // 1: TrollBuyOrSellReq.items:type_name -> TrollBuyOrSellReq.ItemsEntry
+ 9, // 2: TrollBuyOrSellResp.data:type_name -> DBTrollTrain
+ 9, // 3: TrollAfkSetResp.data:type_name -> DBTrollTrain
+ 9, // 4: TrollNpcRewardResp.data:type_name -> DBTrollTrain
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_troll_troll_msg_proto_init() }
+func file_troll_troll_msg_proto_init() {
+ if File_troll_troll_msg_proto != nil {
+ return
+ }
+ file_troll_troll_db_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_troll_troll_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollGetListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollGetListResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollBuyOrSellReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollBuyOrSellResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollAfkSetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollAfkSetResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollNpcRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_troll_troll_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrollNpcRewardResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_troll_troll_msg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 9,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_troll_troll_msg_proto_goTypes,
+ DependencyIndexes: file_troll_troll_msg_proto_depIdxs,
+ MessageInfos: file_troll_troll_msg_proto_msgTypes,
+ }.Build()
+ File_troll_troll_msg_proto = out.File
+ file_troll_troll_msg_proto_rawDesc = nil
+ file_troll_troll_msg_proto_goTypes = nil
+ file_troll_troll_msg_proto_depIdxs = nil
+}
diff --git a/pb/userexpand.pb.go b/pb/userexpand.pb.go
index 1453cfa92..ee03c7c7b 100644
--- a/pb/userexpand.pb.go
+++ b/pb/userexpand.pb.go
@@ -45,7 +45,10 @@ type DBUserExpand struct {
CompletePagoda bool `protobuf:"varint,21,opt,name=completePagoda,proto3" json:"completePagoda" bson:"completePagoda"` //通关普通塔
RtaskId int32 `protobuf:"varint,22,opt,name=rtaskId,proto3" json:"rtaskId" bson:"rtaskId"` // 当前完成的随机任务ID
TeamHeroIds []string `protobuf:"bytes,23,rep,name=teamHeroIds,proto3" json:"teamHeroIds" bson:"teamHeroIds"` //阵容英雄IDs
- SociatyId string `protobuf:"bytes,24,opt,name=sociatyId,proto3" json:"sociatyId"` //@go_tags(`bson:"sociatyId") 公会ID
+ SociatyId string `protobuf:"bytes,24,opt,name=sociatyId,proto3" json:"sociatyId" bson:"sociatyId"` //公会ID
+ SociatyContri int32 `protobuf:"varint,25,opt,name=sociatyContri,proto3" json:"sociatyContri" bson:"sociatyContri"` //个人贡献
+ SociatyCd int64 `protobuf:"varint,26,opt,name=sociatyCd,proto3" json:"sociatyCd" bson:"sociatyCd"` //主动退出CD
+ SociatyCoin int32 `protobuf:"varint,27,opt,name=sociatyCoin,proto3" json:"sociatyCoin" bson:"sociatyCoin"` //公会币
}
func (x *DBUserExpand) Reset() {
@@ -220,11 +223,32 @@ func (x *DBUserExpand) GetSociatyId() string {
return ""
}
+func (x *DBUserExpand) GetSociatyContri() int32 {
+ if x != nil {
+ return x.SociatyContri
+ }
+ return 0
+}
+
+func (x *DBUserExpand) GetSociatyCd() int64 {
+ if x != nil {
+ return x.SociatyCd
+ }
+ return 0
+}
+
+func (x *DBUserExpand) GetSociatyCoin() int32 {
+ if x != nil {
+ return x.SociatyCoin
+ }
+ return 0
+}
+
var File_userexpand_proto protoreflect.FileDescriptor
var file_userexpand_proto_rawDesc = []byte{
0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x22, 0x82, 0x06, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70,
+ 0x74, 0x6f, 0x22, 0xe8, 0x06, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70,
0x61, 0x6e, 0x64, 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, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61,
@@ -268,12 +292,18 @@ var file_userexpand_proto_rawDesc = []byte{
0x74, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x1a, 0x39, 0x0a, 0x0b,
- 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
- 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d,
+ 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x18, 0x19, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x64, 0x18,
+ 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x64,
+ 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x18,
+ 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x6f,
+ 0x69, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a,
+ 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/sys/configure/structs/Game.TrollCoefficient.go b/sys/configure/structs/Game.TrollCoefficient.go
new file mode 100644
index 000000000..77f6208bf
--- /dev/null
+++ b/sys/configure/structs/Game.TrollCoefficient.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameTrollCoefficient struct {
+ _dataMap map[int32]*GameTrollCoefficientData
+ _dataList []*GameTrollCoefficientData
+}
+
+func NewGameTrollCoefficient(_buf []map[string]interface{}) (*GameTrollCoefficient, error) {
+ _dataList := make([]*GameTrollCoefficientData, 0, len(_buf))
+ dataMap := make(map[int32]*GameTrollCoefficientData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameTrollCoefficientData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameTrollCoefficient{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameTrollCoefficient) GetDataMap() map[int32]*GameTrollCoefficientData {
+ return table._dataMap
+}
+
+func (table *GameTrollCoefficient) GetDataList() []*GameTrollCoefficientData {
+ return table._dataList
+}
+
+func (table *GameTrollCoefficient) Get(key int32) *GameTrollCoefficientData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.TrollCoefficientData.go b/sys/configure/structs/Game.TrollCoefficientData.go
new file mode 100644
index 000000000..6546437dc
--- /dev/null
+++ b/sys/configure/structs/Game.TrollCoefficientData.go
@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameTrollCoefficientData struct {
+ Id int32
+ Coefficient string
+}
+
+const TypeId_GameTrollCoefficientData = -856241206
+
+func (*GameTrollCoefficientData) GetTypeId() int32 {
+ return -856241206
+}
+
+func (_v *GameTrollCoefficientData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Coefficient, _ok_ = _buf["coefficient"].(string); !_ok_ { err = errors.New("coefficient error"); return } }
+ return
+}
+
+func DeserializeGameTrollCoefficientData(_buf map[string]interface{}) (*GameTrollCoefficientData, error) {
+ v := &GameTrollCoefficientData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.TrollGoods.go b/sys/configure/structs/Game.TrollGoods.go
new file mode 100644
index 000000000..0457d81d7
--- /dev/null
+++ b/sys/configure/structs/Game.TrollGoods.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameTrollGoods struct {
+ _dataMap map[int32]*GameTrollGoodsData
+ _dataList []*GameTrollGoodsData
+}
+
+func NewGameTrollGoods(_buf []map[string]interface{}) (*GameTrollGoods, error) {
+ _dataList := make([]*GameTrollGoodsData, 0, len(_buf))
+ dataMap := make(map[int32]*GameTrollGoodsData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameTrollGoodsData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameTrollGoods{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameTrollGoods) GetDataMap() map[int32]*GameTrollGoodsData {
+ return table._dataMap
+}
+
+func (table *GameTrollGoods) GetDataList() []*GameTrollGoodsData {
+ return table._dataList
+}
+
+func (table *GameTrollGoods) Get(key int32) *GameTrollGoodsData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.TrollGoodsData.go b/sys/configure/structs/Game.TrollGoodsData.go
new file mode 100644
index 000000000..856d2d27a
--- /dev/null
+++ b/sys/configure/structs/Game.TrollGoodsData.go
@@ -0,0 +1,53 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameTrollGoodsData struct {
+ Id int32
+ Goodsname string
+ Goodsfor int32
+ Goodsinfor string
+ Goodsicon string
+ Goodsprice int32
+ StarMoney int32
+ Uptext string
+ Suptext string
+ Max int32
+}
+
+const TypeId_GameTrollGoodsData = 1425823147
+
+func (*GameTrollGoodsData) GetTypeId() int32 {
+ return 1425823147
+}
+
+func (_v *GameTrollGoodsData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Goodsname, _ok_ = _buf["goodsname"].(string); !_ok_ { err = errors.New("goodsname error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsfor"].(float64); !_ok_ { err = errors.New("goodsfor error"); return }; _v.Goodsfor = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Goodsinfor, _ok_ = _buf["goodsinfor"].(string); !_ok_ { err = errors.New("goodsinfor error"); return } }
+ { var _ok_ bool; if _v.Goodsicon, _ok_ = _buf["goodsicon"].(string); !_ok_ { err = errors.New("goodsicon error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsprice"].(float64); !_ok_ { err = errors.New("goodsprice error"); return }; _v.Goodsprice = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star_money"].(float64); !_ok_ { err = errors.New("star_money error"); return }; _v.StarMoney = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Uptext, _ok_ = _buf["uptext"].(string); !_ok_ { err = errors.New("uptext error"); return } }
+ { var _ok_ bool; if _v.Suptext, _ok_ = _buf["suptext"].(string); !_ok_ { err = errors.New("suptext error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max"].(float64); !_ok_ { err = errors.New("max error"); return }; _v.Max = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameTrollGoodsData(_buf map[string]interface{}) (*GameTrollGoodsData, error) {
+ v := &GameTrollGoodsData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.TrollLv.go b/sys/configure/structs/Game.TrollLv.go
new file mode 100644
index 000000000..87430936c
--- /dev/null
+++ b/sys/configure/structs/Game.TrollLv.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameTrollLv struct {
+ _dataMap map[int32]*GameTrollLvData
+ _dataList []*GameTrollLvData
+}
+
+func NewGameTrollLv(_buf []map[string]interface{}) (*GameTrollLv, error) {
+ _dataList := make([]*GameTrollLvData, 0, len(_buf))
+ dataMap := make(map[int32]*GameTrollLvData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameTrollLvData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Lv] = _v
+ }
+ }
+ return &GameTrollLv{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameTrollLv) GetDataMap() map[int32]*GameTrollLvData {
+ return table._dataMap
+}
+
+func (table *GameTrollLv) GetDataList() []*GameTrollLvData {
+ return table._dataList
+}
+
+func (table *GameTrollLv) Get(key int32) *GameTrollLvData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.TrollLvData.go b/sys/configure/structs/Game.TrollLvData.go
new file mode 100644
index 000000000..29998d541
--- /dev/null
+++ b/sys/configure/structs/Game.TrollLvData.go
@@ -0,0 +1,67 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameTrollLvData struct {
+ Lv int32
+ Money int32
+ Reword []*Gameatn
+ Model []string
+}
+
+const TypeId_GameTrollLvData = -595686743
+
+func (*GameTrollLvData) GetTypeId() int32 {
+ return -595686743
+}
+
+func (_v *GameTrollLvData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["money"].(float64); !_ok_ { err = errors.New("money error"); return }; _v.Money = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
+
+ _v.Reword = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.Reword = append(_v.Reword, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["model"].([]interface{}); !_ok_ { err = errors.New("model error"); return }
+
+ _v.Model = make([]string, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ string
+ { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
+ _v.Model = append(_v.Model, _list_v_)
+ }
+ }
+
+ return
+}
+
+func DeserializeGameTrollLvData(_buf map[string]interface{}) (*GameTrollLvData, error) {
+ v := &GameTrollLvData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.TrollRule.go b/sys/configure/structs/Game.TrollRule.go
new file mode 100644
index 000000000..8ce8e3c5a
--- /dev/null
+++ b/sys/configure/structs/Game.TrollRule.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameTrollRule struct {
+ _dataMap map[int32]*GameTrollRuleData
+ _dataList []*GameTrollRuleData
+}
+
+func NewGameTrollRule(_buf []map[string]interface{}) (*GameTrollRule, error) {
+ _dataList := make([]*GameTrollRuleData, 0, len(_buf))
+ dataMap := make(map[int32]*GameTrollRuleData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameTrollRuleData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameTrollRule{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameTrollRule) GetDataMap() map[int32]*GameTrollRuleData {
+ return table._dataMap
+}
+
+func (table *GameTrollRule) GetDataList() []*GameTrollRuleData {
+ return table._dataList
+}
+
+func (table *GameTrollRule) Get(key int32) *GameTrollRuleData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.TrollRuleData.go b/sys/configure/structs/Game.TrollRuleData.go
new file mode 100644
index 000000000..97e8d6c3b
--- /dev/null
+++ b/sys/configure/structs/Game.TrollRuleData.go
@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameTrollRuleData struct {
+ Id int32
+ Quantity string
+}
+
+const TypeId_GameTrollRuleData = 902547931
+
+func (*GameTrollRuleData) GetTypeId() int32 {
+ return 902547931
+}
+
+func (_v *GameTrollRuleData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Quantity, _ok_ = _buf["quantity"].(string); !_ok_ { err = errors.New("quantity error"); return } }
+ return
+}
+
+func DeserializeGameTrollRuleData(_buf map[string]interface{}) (*GameTrollRuleData, error) {
+ v := &GameTrollRuleData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.TrollTrain.go b/sys/configure/structs/Game.TrollTrain.go
new file mode 100644
index 000000000..0a1d9feb9
--- /dev/null
+++ b/sys/configure/structs/Game.TrollTrain.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameTrollTrain struct {
+ _dataMap map[int32]*GameTrollTrainData
+ _dataList []*GameTrollTrainData
+}
+
+func NewGameTrollTrain(_buf []map[string]interface{}) (*GameTrollTrain, error) {
+ _dataList := make([]*GameTrollTrainData, 0, len(_buf))
+ dataMap := make(map[int32]*GameTrollTrainData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameTrollTrainData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameTrollTrain{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameTrollTrain) GetDataMap() map[int32]*GameTrollTrainData {
+ return table._dataMap
+}
+
+func (table *GameTrollTrain) GetDataList() []*GameTrollTrainData {
+ return table._dataList
+}
+
+func (table *GameTrollTrain) Get(key int32) *GameTrollTrainData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.TrollTrainData.go b/sys/configure/structs/Game.TrollTrainData.go
new file mode 100644
index 000000000..354d7c864
--- /dev/null
+++ b/sys/configure/structs/Game.TrollTrainData.go
@@ -0,0 +1,43 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameTrollTrainData struct {
+ Id int32
+ Name string
+ Information string
+ Ico string
+ Time int32
+}
+
+const TypeId_GameTrollTrainData = 935593821
+
+func (*GameTrollTrainData) GetTypeId() int32 {
+ return 935593821
+}
+
+func (_v *GameTrollTrainData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
+ { var _ok_ bool; if _v.Information, _ok_ = _buf["information"].(string); !_ok_ { err = errors.New("information error"); return } }
+ { var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameTrollTrainData(_buf map[string]interface{}) (*GameTrollTrainData, error) {
+ v := &GameTrollTrainData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go
index d6ed1c66b..0e98b2430 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -115,6 +115,11 @@ type Tables struct {
HeroTalent *GameHeroTalent
TalentSkill *GameTalentSkill
ItemBox *GameItemBox
+ TrollRule *GameTrollRule
+ TrollGoods *GameTrollGoods
+ TrollTrain *GameTrollTrain
+ TrollLv *GameTrollLv
+ TrollCoefficient *GameTrollCoefficient
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -746,6 +751,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.ItemBox, err = NewGameItemBox(buf); err != nil {
return nil, err
}
-
+ if buf, err = loader("game_trollrule"); err != nil {
+ return nil, err
+ }
+ if tables.TrollRule, err = NewGameTrollRule(buf); err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_trollgoods"); err != nil {
+ return nil, err
+ }
+ if tables.TrollGoods, err = NewGameTrollGoods(buf); err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_trolltrain"); err != nil {
+ return nil, err
+ }
+ if tables.TrollTrain, err = NewGameTrollTrain(buf); err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_trolllv"); err != nil {
+ return nil, err
+ }
+ if tables.TrollLv, err = NewGameTrollLv(buf); err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_trollcoefficient"); err != nil {
+ return nil, err
+ }
+ if tables.TrollCoefficient, err = NewGameTrollCoefficient(buf); err != nil {
+ return nil, err
+ }
return tables, nil
}