diff --git a/bin/json/game_librarycomplot.json b/bin/json/game_librarycomplot.json
new file mode 100644
index 000000000..5a84f90aa
--- /dev/null
+++ b/bin/json/game_librarycomplot.json
@@ -0,0 +1,182 @@
+[
+ {
+ "id": 10100,
+ "subTask": 0,
+ "nodeIndex": 0,
+ "order": "1",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10100",
+ "text": "让阿宝变强1"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强1"
+ },
+ "img": "zx_pt_01",
+ "ending": 0
+ },
+ {
+ "id": 10101,
+ "subTask": 10100,
+ "nodeIndex": 1,
+ "order": "2",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10101",
+ "text": "让阿宝变强2"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强2"
+ },
+ "img": "zx_pt_02",
+ "ending": 0
+ },
+ {
+ "id": 10102,
+ "subTask": 10101,
+ "nodeIndex": 2,
+ "order": "3",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10102",
+ "text": "让阿宝变强3"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强3"
+ },
+ "img": "zx_pt_03",
+ "ending": 0
+ },
+ {
+ "id": 10103,
+ "subTask": 10102,
+ "nodeIndex": 3,
+ "order": "4",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10103",
+ "text": "让阿宝变强4"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强4"
+ },
+ "img": "zx_pt_04",
+ "ending": 0
+ },
+ {
+ "id": 10104,
+ "subTask": 10103,
+ "nodeIndex": 4,
+ "order": "5",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10104",
+ "text": "让阿宝变强5"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强5"
+ },
+ "img": "zx_pt_05",
+ "ending": 0
+ },
+ {
+ "id": 10105,
+ "subTask": 10104,
+ "nodeIndex": 5,
+ "order": "6",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10105",
+ "text": "让阿宝变强6"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强6"
+ },
+ "img": "zx_pt_06",
+ "ending": 0
+ },
+ {
+ "id": 10106,
+ "subTask": 10105,
+ "nodeIndex": 6,
+ "order": "7",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10106",
+ "text": "让阿宝变强7"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强7"
+ },
+ "img": "zx_pt_07",
+ "ending": 0
+ },
+ {
+ "id": 10107,
+ "subTask": 10106,
+ "nodeIndex": 7,
+ "order": "8",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10107",
+ "text": "让阿宝变强8"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强8"
+ },
+ "img": "zx_pt_08",
+ "ending": 0
+ },
+ {
+ "id": 10108,
+ "subTask": 10107,
+ "nodeIndex": 8,
+ "order": "9",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10108",
+ "text": "让阿宝变强9"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强9"
+ },
+ "img": "zx_pt_01",
+ "ending": 0
+ },
+ {
+ "id": 10109,
+ "subTask": 10108,
+ "nodeIndex": 9,
+ "order": "10",
+ "story_id": 300001,
+ "fetter_id": 40001,
+ "name": {
+ "key": "SubplotMainTask_10109",
+ "text": "让阿宝变强10"
+ },
+ "describe": {
+ "key": "SubplotMainTask_40001",
+ "text": "让阿宝变强10"
+ },
+ "img": "zx_pt_02",
+ "ending": 1
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json
index 0028c08e5..d70e6ca15 100644
--- a/bin/json/game_worldtask.json
+++ b/bin/json/game_worldtask.json
@@ -24,6 +24,11 @@
"a": "attr",
"t": "diamond",
"n": 100
+ },
+ {
+ "a": "hero",
+ "t": "25001",
+ "n": 1
}
]
},
@@ -45,7 +50,7 @@
1002
],
"completetask": 0,
- "auto_accept": 1,
+ "auto_accept": 0,
"overtips": 1,
"reword": []
},
@@ -2653,5 +2658,242 @@
"n": 100
}
]
+ },
+ {
+ "key": 40100,
+ "lock": 1,
+ "ontxe": 0,
+ "id_after": 40101,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "杰克",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400001
+ ],
+ "completetask": 0,
+ "auto_accept": 0,
+ "overtips": 1,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ]
+ },
+ {
+ "key": 40101,
+ "lock": 1,
+ "ontxe": 40100,
+ "id_after": 40102,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "邦尼兔组件名",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400002
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40102,
+ "lock": 1,
+ "ontxe": 40101,
+ "id_after": 40103,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "dreamwork_restaurant_01",
+ "美食馆-波比组件名",
+ "701"
+ ],
+ "getafter_event": [
+ 2,
+ 400003
+ ],
+ "completetask": 171,
+ "auto_accept": 0,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40103,
+ "lock": 1,
+ "ontxe": 40102,
+ "id_after": 40104,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "dreamwork_restaurant_01",
+ "美食馆-波比组件名",
+ "701"
+ ],
+ "getafter_event": [
+ 2,
+ 400051
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40104,
+ "lock": 1,
+ "ontxe": 40103,
+ "id_after": 40105,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "dreamwork_restaurant_01",
+ "美食馆-波比组件名",
+ "701"
+ ],
+ "getafter_event": [
+ 2,
+ 400005
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ },
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 1
+ }
+ ]
+ },
+ {
+ "key": 40105,
+ "lock": 1,
+ "ontxe": 40104,
+ "id_after": 40106,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "杰克",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400006
+ ],
+ "completetask": 118,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40106,
+ "lock": 1,
+ "ontxe": 40105,
+ "id_after": 40107,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "杰克",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400007
+ ],
+ "completetask": 175,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40107,
+ "lock": 1,
+ "ontxe": 40106,
+ "id_after": 40108,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "杰克",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400008
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40108,
+ "lock": 1,
+ "ontxe": 40107,
+ "id_after": 40109,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "杰克",
+ "150"
+ ],
+ "getafter_event": [
+ 2,
+ 400009
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
+ },
+ {
+ "key": 40109,
+ "lock": 1,
+ "ontxe": 40108,
+ "id_after": 40110,
+ "group": 40001,
+ "des": 4,
+ "icon": "",
+ "npc": [
+ "scenes_ boundary_01",
+ "戈伯组件名",
+ "153"
+ ],
+ "getafter_event": [
+ 2,
+ 400010
+ ],
+ "completetask": 0,
+ "auto_accept": 1,
+ "overtips": 1,
+ "reword": []
}
]
\ No newline at end of file
diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go
index 5e776d070..d0cbfd3d1 100644
--- a/cmd/v2/ui/protocol.go
+++ b/cmd/v2/ui/protocol.go
@@ -12,6 +12,7 @@ import (
"go_dreamfactory/modules/friend"
"go_dreamfactory/modules/growtask"
"go_dreamfactory/modules/hero"
+ "go_dreamfactory/modules/library"
"go_dreamfactory/modules/linestory"
"go_dreamfactory/modules/mainline"
"go_dreamfactory/modules/rtask"
@@ -111,6 +112,7 @@ var (
ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{},
// linestory
ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{},
+ ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{},
// gourmet
ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{},
// sociaty
@@ -235,6 +237,7 @@ var (
},
"linestory": {
ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter),
+ ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp),
},
"gourmet": {
ff(comm.ModuleGourmet, "getranduser"),
@@ -821,12 +824,19 @@ var (
Enabled: true,
},
ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): {
- NavLabel: "我的任务",
+ NavLabel: "支线任务",
Desc: "我的剧情任务",
MainType: string(comm.ModuleLinestory),
SubType: linestory.LinestorySubTypeChapter,
Enabled: true,
},
+ ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): {
+ NavLabel: "羁绊任务",
+ Desc: "我的剧情任务",
+ MainType: string(comm.ModuleLibrary),
+ SubType: library.LibraryFetterstoryTaskResp,
+ Enabled: true,
+ },
// gourmet
string(comm.ModuleGourmet): {
NavLabel: "美食馆",
diff --git a/cmd/v2/ui/views/library_fetterstory.go b/cmd/v2/ui/views/library_fetterstory.go
new file mode 100644
index 000000000..5d5070bf6
--- /dev/null
+++ b/cmd/v2/ui/views/library_fetterstory.go
@@ -0,0 +1,74 @@
+package formview
+
+import (
+ "go_dreamfactory/cmd/v2/lib/common"
+ "go_dreamfactory/cmd/v2/model"
+ "go_dreamfactory/cmd/v2/service"
+ "go_dreamfactory/cmd/v2/service/observer"
+ "go_dreamfactory/comm"
+ "go_dreamfactory/modules/library"
+ "go_dreamfactory/pb"
+
+ "fyne.io/fyne/v2"
+ "fyne.io/fyne/v2/widget"
+ "github.com/sirupsen/logrus"
+ "github.com/spf13/cast"
+)
+
+type FetterstoryView struct {
+ BaseformView
+ itemList *common.ItemList
+ flag bool
+}
+
+func (f *FetterstoryView) CreateView(t *model.TestCase) fyne.CanvasObject {
+ jqId := widget.NewEntry()
+ jqId.PlaceHolder = "羁绊ID"
+
+ f.form.AppendItem(widget.NewFormItem("羁绊ID", jqId))
+
+ mine := func() {
+ if jqId.Text == "" {
+ common.ShowTip("羁绊ID是必须的")
+ return
+ }
+ if err := service.GetPttService().SendToClient(
+ t.MainType,
+ library.LibraryFetterstoryTaskResp,
+ &pb.LibraryFetterstoryTaskReq{
+ FetterId: cast.ToInt32(jqId.Text),
+ },
+ ); err != nil {
+ logrus.Error(err)
+ return
+ }
+ }
+
+ f.form.OnSubmit = mine
+
+ f.dataListener()
+ return f.form
+}
+
+func (f *FetterstoryView) dataListener() {
+ if f.flag {
+ return
+ }
+ f.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{
+ OnNotify: func(d interface{}, args ...interface{}) {
+ data := d.(*pb.UserMessage)
+ if !(data.MainType == string(comm.ModuleLibrary) &&
+ data.SubType == library.LibraryActivationFetterResp) {
+ return
+ }
+ rsp := &pb.LibraryFetterstoryTaskResp{}
+
+ if !comm.ProtoUnmarshal(data, rsp) {
+ logrus.Error("unmarshal err")
+ return
+ }
+
+ },
+ })
+ f.flag = true
+}
diff --git a/comm/const.go b/comm/const.go
index 16072e859..b31c0dca0 100644
--- a/comm/const.go
+++ b/comm/const.go
@@ -157,6 +157,7 @@ const (
// 支线剧情任务
TableLinestory = "linestory"
+ TableFetterstory = "fetterstory"
TableLibrary = "library"
TableFetter = "herofetter"
diff --git a/comm/imodule.go b/comm/imodule.go
index ded2c12d3..c5d2e995d 100644
--- a/comm/imodule.go
+++ b/comm/imodule.go
@@ -279,7 +279,7 @@ type (
}
IPrivilege interface {
// 创建一个新的特权卡
- CreatePrivilegeCard(session IUserSession, cId string) (code pb.ErrorCode)
+ Delivery(session IUserSession, pId string) (code pb.ErrorCode, items []*pb.UserAssets)
// 续费特权卡
RenewPrivilegeCard(session IUserSession, cId string) (code pb.ErrorCode)
// 检查特权 参数 计费点 返回值 是否有特权
@@ -331,6 +331,8 @@ type (
CheckRtype132(uid string, num int32, lv int32) bool
//与指定英雄好感度等级达到N
CheckRtype133(uid string, heroId string, lv int32) bool
+ // 任务完成通知
+ TaskFinishNotify(uid string, taskId, fetterId int32) error
}
// 个人成长任务
IGrowtask interface {
diff --git a/modules/enchant/api_challenge.go b/modules/enchant/api_challenge.go
index 2e29dd6f4..5b969aa98 100644
--- a/modules/enchant/api_challenge.go
+++ b/modules/enchant/api_challenge.go
@@ -54,7 +54,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen
if !ok { // 类型校验
enchant.Boss[req.BossType] = 0
}
-
+ // 获取分数
+ var score int32
+ var format []int32
+ score = int32(enchant.Boss[req.BossType])
+ for _, v := range cfgData {
+ if v.ScoreLow <= score && v.ScoreUp >= score {
+ format = v.Boss
+ }
+ }
code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_enchant,
Title: "",
@@ -62,8 +70,9 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen
Leadpos: req.Leadpos,
Format: req.Teamids,
},
- //Mformat: cfgData.Boss,
+ Mformat: format,
})
+
if code != pb.ErrorCode_Success {
return
}
diff --git a/modules/enchant/module.go b/modules/enchant/module.go
index f6119d912..205d90282 100644
--- a/modules/enchant/module.go
+++ b/modules/enchant/module.go
@@ -86,13 +86,13 @@ func (this *Enchant) CheckRank(uid string, boosID int32, Enchant *pb.DBEnchant,
if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 {
costTime = report.Costtime
Leadpos = int(report.Info.Redflist[0].Leadpos)
- for i, v := range report.Info.Redflist[0].Team {
+ for _, v := range report.Info.Redflist[0].Team {
if v != nil {
- szLine[i] = &pb.LineUp{
+ szLine = append(szLine, &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
- }
+ })
}
}
}
diff --git a/modules/library/api.go b/modules/library/api.go
index 16732567f..de6765c96 100644
--- a/modules/library/api.go
+++ b/modules/library/api.go
@@ -18,6 +18,7 @@ const (
LibraryChangePush = "change"
LibraryGetStoryRewardResp = "getstoryreward"
LibraryLvRewardResp = "lvreward"
+ LibraryFetterstoryTaskResp = "fetterstorytask"
)
type apiComp struct {
diff --git a/modules/library/api_maintask.go b/modules/library/api_maintask.go
new file mode 100644
index 000000000..ca30607f4
--- /dev/null
+++ b/modules/library/api_maintask.go
@@ -0,0 +1,39 @@
+package library
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/pb"
+
+ "google.golang.org/protobuf/proto"
+)
+
+// 羁绊剧情-我的主线任务
+func (this *apiComp) FetterstoryTaskCheck(session comm.IUserSession, req *pb.LibraryFetterstoryTaskReq) (code pb.ErrorCode) {
+ if req.FetterId == 0 {
+ this.module.Error("参数错误", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "params", Value: req.String()})
+ code = pb.ErrorCode_ReqParameterError
+ }
+ return
+}
+
+func (this *apiComp) FetterstoryTask(session comm.IUserSession, req *pb.LibraryFetterstoryTaskReq) (code pb.ErrorCode, data proto.Message) {
+ if code = this.FetterstoryTaskCheck(session, req); code != pb.ErrorCode_Success {
+ return
+ }
+
+ uid := session.GetUserId()
+ // 我的主线任务
+ list := this.module.modelFetterstory.getMaintasks(uid, req.FetterId)
+
+ rsp := &pb.LinestoryMaintaskResp{
+ List: list,
+ }
+
+ if err := session.SendMsg(string(this.module.GetType()), LibraryFetterstoryTaskResp, rsp); err != nil {
+ code = pb.ErrorCode_SystemError
+ return
+ }
+
+ return
+}
diff --git a/modules/library/comp_configure.go b/modules/library/comp_configure.go
index 9566f121a..fcef976c6 100644
--- a/modules/library/comp_configure.go
+++ b/modules/library/comp_configure.go
@@ -15,6 +15,7 @@ const (
game_libraryhistory = "game_libraryhistory.json" // 往事id 对应的奖励
game_libraryfavor = "game_libraryfavor.json" // 英雄好感度升级所需的经验
game_librarystory = "game_librarystory.json" // 羁绊id对应剧情奖励
+ game_librarycomplot = "game_librarycomplot.json"
)
///配置管理基础组件
@@ -32,6 +33,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
game_libraryhistory: cfg.NewGameLibraryHistory,
game_libraryfavor: cfg.NewGameLibraryFavor,
game_librarystory: cfg.NewGameLibraryStory,
+ game_librarycomplot: cfg.NewGameLibraryComplot,
})
this.fetter = make(map[int64]*cfg.GameLibraryFetterData, 0)
@@ -139,3 +141,32 @@ func (this *configureComp) GetLibraryStory(fid int32) (data *cfg.GameLibraryStor
}
return
}
+
+func (this *configureComp) getFetterstoryTaskCfg() (data *cfg.GameLibraryComplot, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(game_librarycomplot); err != nil {
+ return
+ } else {
+ if data, ok = v.(*cfg.GameLibraryComplot); !ok {
+ err = fmt.Errorf("%T no is *cfg.GameLibraryComplot", v)
+ return
+ }
+ }
+ return
+}
+
+func(c *configureComp)getMainTaskCfgByFetter(fetterId int32)(list []*cfg.GameLibraryComplotData) {
+ glc, err := c.getFetterstoryTaskCfg()
+ if err!=nil{
+ return nil
+ }
+ for _, v:=range glc.GetDataList(){
+ if v.FetterId == fetterId{
+ list = append(list, v)
+ }
+ }
+ return
+}
\ No newline at end of file
diff --git a/modules/library/model_fetterstory.go b/modules/library/model_fetterstory.go
new file mode 100644
index 000000000..24da03049
--- /dev/null
+++ b/modules/library/model_fetterstory.go
@@ -0,0 +1,106 @@
+package library
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+ "go_dreamfactory/utils"
+
+ "go.mongodb.org/mongo-driver/bson/primitive"
+ "go.mongodb.org/mongo-driver/mongo"
+)
+
+type modelFetterstory struct {
+ modules.MCompModel
+ module *Library
+ service core.IService
+}
+
+func (this *modelFetterstory) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ this.TableName = comm.TableFetterstory
+ err = this.MCompModel.Init(service, module, comp, options)
+ this.module = module.(*Library)
+ this.service = service
+ return
+}
+
+func (this *modelFetterstory) getFetterstory(uid string) *pb.DBFetterstory {
+ ls := &pb.DBFetterstory{
+ Uid: uid,
+ }
+ if err := this.Get(uid, ls); err != nil {
+ if err == mongo.ErrNoDocuments {
+ ls.Id = primitive.NewObjectID().Hex()
+
+ if err := this.Add(uid, ls); err != nil {
+ log.Errorf("save fetterstory err:%v", err)
+ return ls
+ }
+ return ls
+ } else {
+ log.Errorf("getFetterstory err:%v", err)
+ return ls
+ }
+ }
+ return ls
+}
+
+// 获取羁绊节点任务信息
+func (this *modelFetterstory) getFetterTasks(uid string, fetterId int32) *pb.FetterTask {
+ ls := this.getFetterstory(uid)
+ return ls.FeeterTask[fetterId]
+}
+
+// 校验前置任务是否完成
+// true完成 false未完成
+func (this *modelFetterstory) isPreFinished(finishTasks []int32, taskId int32) bool {
+ maintaskConf, ok := this.module.confComplot.GetDataMap()[taskId]
+ if !ok {
+ return false
+ }
+ if maintaskConf.SubTask == 0 {
+ return true
+ }
+
+ if _, ok := utils.Findx(finishTasks, maintaskConf.SubTask); ok {
+ return true
+ }
+
+ return false
+}
+
+// 获取玩家羁绊剧情-主线任务
+func (this *modelFetterstory) getMaintasks(uid string, fetterId int32) (list []*pb.TaskMain) {
+ // 调用世界任务接口groupId & taskId
+ if module, err := this.service.GetModule(comm.ModuleWorldtask); err == nil {
+ if iwt, ok := module.(comm.IWorldtask); ok {
+ // 获取玩家世界任务
+ wt := iwt.GetMyWorldtask(uid)
+ this.module.Debug("获取玩家世界任务",
+ log.Field{Key: "uid", Value: uid},
+ log.Field{Key: "fetterId", Value: fetterId},
+ log.Field{Key: "worldtask", Value: wt},
+ )
+ if wt != nil {
+ mainTasks := this.getFetterTasks(uid, fetterId)
+ if mainTasks == nil {
+ return
+ }
+ for _, taskId := range mainTasks.TaskIds {
+ // 遍历已完成的世界任务
+ for _, task := range wt.TaskList {
+ if taskId == task.TaskId {
+ list = append(list, &pb.TaskMain{
+ TaskId: taskId,
+ Status: 1,
+ })
+ }
+ }
+ }
+ }
+ }
+ }
+ return
+}
diff --git a/modules/library/module.go b/modules/library/module.go
index 51c369893..322155e1d 100644
--- a/modules/library/module.go
+++ b/modules/library/module.go
@@ -10,17 +10,21 @@ import (
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type Library struct {
modules.ModuleBase
- service base.IRPCXService
- modelLibrary *modelLibrary
- modelFetter *modelFetter
- api *apiComp
- configure *configureComp
+ service base.IRPCXService
+ modelLibrary *modelLibrary
+ modelFetter *modelFetter
+ modelFetterstory *modelFetterstory
+ api *apiComp
+ configure *configureComp
+ confComplot *cfg.GameLibraryComplot
}
func NewModule() core.IModule {
@@ -42,13 +46,16 @@ func (this *Library) OnInstallComp() {
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelLibrary = this.RegisterComp(new(modelLibrary)).(*modelLibrary)
this.modelFetter = this.RegisterComp(new(modelFetter)).(*modelFetter)
-
+ this.modelFetterstory = this.RegisterComp(new(modelFetterstory)).(*modelFetterstory)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
func (this *Library) Start() (err error) {
err = this.ModuleBase.Start()
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFetter), this.Rpc_ModuleFetter)
+ if this.confComplot, err = this.configure.getFetterstoryTaskCfg(); err != nil {
+ return err
+ }
return
}
@@ -282,3 +289,27 @@ func (this *Library) CheckRtype133(uid string, heroId string, lv int32) bool {
return false
}
+
+func (this *Library) TaskFinishNotify(uid string, taskId, fetterId int32) error {
+ ft := this.modelFetterstory.getFetterTasks(uid, fetterId)
+ if ft == nil {
+ return comm.NewCustomError(pb.ErrorCode_LibraryFetterTaskNoFound)
+ }
+
+ if !this.modelFetterstory.isPreFinished(ft.TaskIds, taskId) {
+ return comm.NewCustomError(pb.ErrorCode_LibraryPreTaskNoFinished)
+ }
+ var isUpdate bool
+ if _, ok := utils.Findx(ft.TaskIds, taskId); !ok {
+ ft.TaskIds = append(ft.TaskIds, taskId)
+ isUpdate = true
+ }
+
+ if isUpdate {
+ update := map[string]interface{}{
+ "feeterTask": ft.TaskIds,
+ }
+ return this.modelFetterstory.Change(uid, update)
+ }
+ return nil
+}
diff --git a/modules/modulebase.go b/modules/modulebase.go
index 620565f8f..9352ec77d 100644
--- a/modules/modulebase.go
+++ b/modules/modulebase.go
@@ -369,7 +369,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
}
if len(vip) > 0 { //卡片资源
for k := range vip {
- code = this.ModulePrivilege.CreatePrivilegeCard(session, k)
+ code, _ = this.ModulePrivilege.Delivery(session, k)
this.Debugf("发放月卡资源: %v [%v]", k, code)
}
diff --git a/modules/privilege/api_buyyueka.go b/modules/privilege/api_buyyueka.go
index cf9eed6ea..6d55d911c 100644
--- a/modules/privilege/api_buyyueka.go
+++ b/modules/privilege/api_buyyueka.go
@@ -21,6 +21,6 @@ func (this *apiComp) BuyYueka(session comm.IUserSession, req *pb.PrivilegeBuyYue
if code = this.BuyYuekaCheck(session, req); code != pb.ErrorCode_Success {
return
}
- code = this.module.CreatePrivilegeCard(session, req.CID)
+ code, _ = this.module.Delivery(session, req.CID)
return
}
diff --git a/modules/privilege/module.go b/modules/privilege/module.go
index 3e66edb1d..2a95e15de 100644
--- a/modules/privilege/module.go
+++ b/modules/privilege/module.go
@@ -66,14 +66,15 @@ func (this *Privilege) EventUserOffline(session comm.IUserSession) {
}
// 购买了一个新的特权
-func (this *Privilege) CreatePrivilegeCard(session comm.IUserSession, cId string) (code pb.ErrorCode) {
+func (this *Privilege) Delivery(session comm.IUserSession, cId string) (code pb.ErrorCode, items []*pb.UserAssets) {
var (
bFind bool
)
conf, err := this.configure.GetPrivilegeCard(cId)
if err != nil {
- return pb.ErrorCode_ConfigNoFound
+ code = pb.ErrorCode_ConfigNoFound
+ return
}
// 是不是购买过
list, err := this.modelPrivilege.getPrivilegeList(session.GetUserId())
@@ -168,6 +169,13 @@ func (this *Privilege) CreatePrivilegeCard(session comm.IUserSession, cId string
if code = this.DispenseRes(session, conf.DisposableReward, true); code != pb.ErrorCode_Success {
return
}
+ for _, v := range conf.DisposableReward {
+ items = append(items, &pb.UserAssets{
+ A: v.A,
+ T: v.T,
+ N: v.N,
+ })
+ }
// 推送
session.SendMsg(string(this.GetType()), PrivilegeBuyYuekaResp, &pb.PrivilegeBuyYuekaResp{Data: list})
return
diff --git a/modules/viking/api_buy.go b/modules/viking/api_buy.go
index 0e591d915..1cb232bfe 100644
--- a/modules/viking/api_buy.go
+++ b/modules/viking/api_buy.go
@@ -21,12 +21,13 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.VikingBuyReq) (
func (this *apiComp) Buy(session comm.IUserSession, req *pb.VikingBuyReq) (code pb.ErrorCode, data proto.Message) {
var (
- curByCount int32
- costRes *cfg.Gameatn
- mapData map[string]interface{}
- curCount int32 // 当前门票数量
- szcostRes []*cfg.Gameatn // 购买累计消耗
- addCount int32 //获得数量
+ curByCount int32
+ costRes *cfg.Gameatn
+ mapData map[string]interface{}
+ curCount int32 // 当前门票数量
+ szcostRes []*cfg.Gameatn // 购买累计消耗
+ addCount int32 //获得数量
+ PrivilegeBuyCount int32 // 特权购买次数
)
mapData = make(map[string]interface{}, 0)
code = this.BuyCheck(session, req)
@@ -49,6 +50,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.VikingBuyReq) (code
} else {
curByCount = list.BuyCount
}
+ PrivilegeBuyCount = this.module.ModulePrivilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType3)
+
conf := this.module.configure.GetGlobalConf()
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
@@ -92,7 +95,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.VikingBuyReq) (code
mapData["recoveryTime"] = list.RecoveryTime // 更新刷新时间
curByCount += req.Count // 当前需要购买的数量
- if this.configure.GetMaxBuyChallengeCount() < curByCount {
+ if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount {
code = pb.ErrorCode_VikingBuyMaxCount
return
}
@@ -101,8 +104,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.VikingBuyReq) (code
for i := list.BuyCount + 1; i <= curByCount; i++ {
_cfg := this.configure.GetBuyChallengeCount(i)
if _cfg == nil {
- code = pb.ErrorCode_VikingBuyMaxCount
- return
+ // 取最后一条
+ _cfg = this.configure.GetLastBuyChallenge()
}
szcostRes = append(szcostRes, _cfg.Need...)
}
diff --git a/modules/viking/comp_configure.go b/modules/viking/comp_configure.go
index b33848cb0..7ac0ea590 100644
--- a/modules/viking/comp_configure.go
+++ b/modules/viking/comp_configure.go
@@ -124,3 +124,17 @@ func (this *configureComp) GetMaxDifficultyByBossID(bossId int32) int32 {
}
return 0
}
+
+// 获取最后一条数据
+func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameVikingChallengeData) {
+ if v, err := this.GetConfigure(game_challenge); err == nil {
+ if configure, ok := v.(*cfg.GameVikingChallenge); ok && len(configure.GetDataList()) > 0 {
+ data = configure.GetDataList()[len(configure.GetDataList())-1]
+ return
+ }
+ } else {
+ log.Errorf("get game_challenge conf err:%v", err)
+ }
+
+ return
+}
diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go
index 9abac6721..98d0a8e37 100644
--- a/modules/worldtask/model_worldtask.go
+++ b/modules/worldtask/model_worldtask.go
@@ -111,5 +111,18 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta
}
}
}
+
+ if module, err := this.service.GetModule(comm.ModuleLibrary); err == nil {
+ if iLibrary, ok := module.(comm.ILibrary); ok {
+ if err := iLibrary.TaskFinishNotify(task.Uid, taskId, groupId); err != nil {
+ log.Debug("世界任务完成通知羁绊剧情任务",
+ log.Field{Key: "uid", Value: task.Uid},
+ log.Field{Key: "fetterId", Value: groupId},
+ log.Field{Key: "taskId", Value: taskId},
+ log.Field{Key: "err", Value: err.Error()},
+ )
+ }
+ }
+ }
return nil
}
diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go
index e9e4a3a61..f50391fde 100644
--- a/pb/errorcode.pb.go
+++ b/pb/errorcode.pb.go
@@ -203,11 +203,13 @@ const (
ErrorCode_EnchantMaxChallengeCount ErrorCode = 2714 // 挑战达到最大次数
ErrorCode_EnchantNoChallengeCount ErrorCode = 2715 // 挑战达到最大次数
// library
- ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级
- ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据
- ErrorCode_LibraryActivation ErrorCode = 2803 // 已经是激活状态
- ErrorCode_LibraryReward ErrorCode = 2804 // 已经领取奖励
- ErrorCode_LibraryLvReward ErrorCode = 2805 // 领奖等级没达到
+ ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级
+ ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据
+ ErrorCode_LibraryActivation ErrorCode = 2803 // 已经是激活状态
+ ErrorCode_LibraryReward ErrorCode = 2804 // 已经领取奖励
+ ErrorCode_LibraryLvReward ErrorCode = 2805 // 领奖等级没达到
+ ErrorCode_LibraryFetterTaskNoFound ErrorCode = 2806 //未找到羁绊任务数据
+ ErrorCode_LibraryPreTaskNoFinished ErrorCode = 2807 //前置任务未完成
// Battle
ErrorCode_BattleValidationFailed ErrorCode = 2901 //战斗校验失败
ErrorCode_BattleNoWin ErrorCode = 2902 //战斗失败
@@ -457,6 +459,8 @@ var (
2803: "LibraryActivation",
2804: "LibraryReward",
2805: "LibraryLvReward",
+ 2806: "LibraryFetterTaskNoFound",
+ 2807: "LibraryPreTaskNoFinished",
2901: "BattleValidationFailed",
2902: "BattleNoWin",
3000: "SociatyNoFound",
@@ -692,6 +696,8 @@ var (
"LibraryActivation": 2803,
"LibraryReward": 2804,
"LibraryLvReward": 2805,
+ "LibraryFetterTaskNoFound": 2806,
+ "LibraryPreTaskNoFinished": 2807,
"BattleValidationFailed": 2901,
"BattleNoWin": 2902,
"SociatyNoFound": 3000,
@@ -793,7 +799,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, 0xca, 0x29, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x6f, 0x2a, 0x88, 0x2a, 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,
@@ -1025,108 +1031,112 @@ var file_errorcode_proto_rawDesc = []byte{
0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15,
0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c,
- 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61,
- 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61,
- 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c,
- 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63,
- 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11,
- 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9,
- 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d,
- 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14,
- 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65,
- 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e,
- 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63,
- 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13,
- 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
- 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75,
- 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
- 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69,
- 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10,
- 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d,
- 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 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, 0x15,
- 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 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, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65,
- 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01,
- 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f,
- 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10,
- 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65,
- 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f,
- 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01,
- 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c,
- 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a,
- 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f,
- 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45,
- 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63,
- 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65,
- 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61,
- 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12,
- 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78,
- 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61,
- 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10,
- 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f,
- 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 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, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d,
- 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65,
- 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c,
- 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19,
- 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c,
- 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10,
- 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e,
- 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a,
- 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44,
- 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76,
- 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b,
- 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e,
- 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70,
- 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69,
- 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a,
- 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b,
- 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65,
- 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61,
- 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12,
- 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45,
- 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52,
- 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16,
- 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
- 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74,
- 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14,
- 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e,
- 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64,
- 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12,
- 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f,
- 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72,
- 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d,
- 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73,
- 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e,
- 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43,
- 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06,
- 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69,
+ 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e,
+ 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62,
+ 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c,
+ 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12,
+ 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e,
+ 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10,
+ 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52,
+ 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe,
+ 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74,
+ 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67,
+ 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
+ 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xba,
+ 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 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, 0x15, 0x0a, 0x0f,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 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, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a,
+ 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea,
+ 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f,
+ 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, 0x12, 0x1b,
+ 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e,
+ 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f,
+ 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
+ 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
+ 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x16, 0x0a,
+ 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73,
+ 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
+ 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd1, 0xea,
+ 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61,
+ 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 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, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78,
+ 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c,
+ 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d,
+ 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16,
+ 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19,
+ 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74,
+ 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48,
+ 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f,
+ 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c,
+ 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17,
+ 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77,
+ 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47,
+ 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56,
+ 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14,
+ 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
+ 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b,
+ 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a,
+ 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f,
+ 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e,
+ 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11,
+ 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
+ 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73,
+ 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f,
+ 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75,
+ 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61,
+ 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a,
+ 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64,
+ 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c,
+ 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55,
+ 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19,
+ 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04,
+ 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/library_db.pb.go b/pb/library_db.pb.go
index 608484de3..38b8b4040 100644
--- a/pb/library_db.pb.go
+++ b/pb/library_db.pb.go
@@ -227,6 +227,118 @@ func (x *DBHeroFetter) GetLvprize() []int32 {
return nil
}
+//羁绊剧情
+type DBFetterstory 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
+ FeeterTask map[int32]*FetterTask `protobuf:"bytes,3,rep,name=feeterTask,proto3" json:"feeterTask" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"feeterTask"` //已开启的羁绊任务 key:羁绊ID
+}
+
+func (x *DBFetterstory) Reset() {
+ *x = DBFetterstory{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_library_library_db_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBFetterstory) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBFetterstory) ProtoMessage() {}
+
+func (x *DBFetterstory) ProtoReflect() protoreflect.Message {
+ mi := &file_library_library_db_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBFetterstory.ProtoReflect.Descriptor instead.
+func (*DBFetterstory) Descriptor() ([]byte, []int) {
+ return file_library_library_db_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *DBFetterstory) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *DBFetterstory) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+func (x *DBFetterstory) GetFeeterTask() map[int32]*FetterTask {
+ if x != nil {
+ return x.FeeterTask
+ }
+ return nil
+}
+
+// 羁绊任务
+type FetterTask struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TaskIds []int32 `protobuf:"varint,1,rep,packed,name=taskIds,proto3" json:"taskIds" bson:"taskIds"` //完成的任务
+}
+
+func (x *FetterTask) Reset() {
+ *x = FetterTask{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_library_library_db_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FetterTask) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FetterTask) ProtoMessage() {}
+
+func (x *FetterTask) ProtoReflect() protoreflect.Message {
+ mi := &file_library_library_db_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FetterTask.ProtoReflect.Descriptor instead.
+func (*FetterTask) Descriptor() ([]byte, []int) {
+ return file_library_library_db_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *FetterTask) GetTaskIds() []int32 {
+ if x != nil {
+ return x.TaskIds
+ }
+ return nil
+}
+
var File_library_library_db_proto protoreflect.FileDescriptor
var file_library_library_db_proto_rawDesc = []byte{
@@ -267,8 +379,22 @@ var file_library_library_db_proto_rawDesc = []byte{
0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72,
0x6f, 0x79, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69,
0x7a, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69, 0x7a,
- 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74,
+ 0x6f, 0x72, 0x79, 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, 0x3e, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x74, 0x65, 0x72, 0x54,
+ 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x46, 0x65,
+ 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x65, 0x74, 0x65, 0x72,
+ 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x74, 0x65,
+ 0x72, 0x54, 0x61, 0x73, 0x6b, 0x1a, 0x4a, 0x0a, 0x0f, 0x46, 0x65, 0x65, 0x74, 0x65, 0x72, 0x54,
+ 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x22, 0x26, 0x0a, 0x0a, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12,
+ 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
+ 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
+ 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -283,21 +409,26 @@ func file_library_library_db_proto_rawDescGZIP() []byte {
return file_library_library_db_proto_rawDescData
}
-var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_library_library_db_proto_goTypes = []interface{}{
- (*DBLibrary)(nil), // 0: DBLibrary
- (*DBHeroFetter)(nil), // 1: DBHeroFetter
- nil, // 2: DBLibrary.HeroEntry
- nil, // 3: DBLibrary.PrizeEntry
+ (*DBLibrary)(nil), // 0: DBLibrary
+ (*DBHeroFetter)(nil), // 1: DBHeroFetter
+ (*DBFetterstory)(nil), // 2: DBFetterstory
+ (*FetterTask)(nil), // 3: FetterTask
+ nil, // 4: DBLibrary.HeroEntry
+ nil, // 5: DBLibrary.PrizeEntry
+ nil, // 6: DBFetterstory.FeeterTaskEntry
}
var file_library_library_db_proto_depIdxs = []int32{
- 2, // 0: DBLibrary.hero:type_name -> DBLibrary.HeroEntry
- 3, // 1: DBLibrary.prize:type_name -> DBLibrary.PrizeEntry
- 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
+ 4, // 0: DBLibrary.hero:type_name -> DBLibrary.HeroEntry
+ 5, // 1: DBLibrary.prize:type_name -> DBLibrary.PrizeEntry
+ 6, // 2: DBFetterstory.feeterTask:type_name -> DBFetterstory.FeeterTaskEntry
+ 3, // 3: DBFetterstory.FeeterTaskEntry.value:type_name -> FetterTask
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
}
func init() { file_library_library_db_proto_init() }
@@ -330,6 +461,30 @@ func file_library_library_db_proto_init() {
return nil
}
}
+ file_library_library_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBFetterstory); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_library_library_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FetterTask); 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{
@@ -337,7 +492,7 @@ func file_library_library_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_library_library_db_proto_rawDesc,
NumEnums: 0,
- NumMessages: 4,
+ NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/pb/library_msg.pb.go b/pb/library_msg.pb.go
index 309745e42..0607d1909 100644
--- a/pb/library_msg.pb.go
+++ b/pb/library_msg.pb.go
@@ -763,6 +763,101 @@ func (x *LibraryLvRewardResp) GetData() *DBHeroFetter {
return nil
}
+// 羁绊剧情-我的主线任务
+type LibraryFetterstoryTaskReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FetterId int32 `protobuf:"varint,1,opt,name=fetterId,proto3" json:"fetterId"` //章节ID
+}
+
+func (x *LibraryFetterstoryTaskReq) Reset() {
+ *x = LibraryFetterstoryTaskReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_library_library_msg_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LibraryFetterstoryTaskReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LibraryFetterstoryTaskReq) ProtoMessage() {}
+
+func (x *LibraryFetterstoryTaskReq) ProtoReflect() protoreflect.Message {
+ mi := &file_library_library_msg_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LibraryFetterstoryTaskReq.ProtoReflect.Descriptor instead.
+func (*LibraryFetterstoryTaskReq) Descriptor() ([]byte, []int) {
+ return file_library_library_msg_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *LibraryFetterstoryTaskReq) GetFetterId() int32 {
+ if x != nil {
+ return x.FetterId
+ }
+ return 0
+}
+
+type LibraryFetterstoryTaskResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TaskIds []int32 `protobuf:"varint,1,rep,packed,name=taskIds,proto3" json:"taskIds"`
+}
+
+func (x *LibraryFetterstoryTaskResp) Reset() {
+ *x = LibraryFetterstoryTaskResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_library_library_msg_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LibraryFetterstoryTaskResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LibraryFetterstoryTaskResp) ProtoMessage() {}
+
+func (x *LibraryFetterstoryTaskResp) ProtoReflect() protoreflect.Message {
+ mi := &file_library_library_msg_proto_msgTypes[16]
+ 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 LibraryFetterstoryTaskResp.ProtoReflect.Descriptor instead.
+func (*LibraryFetterstoryTaskResp) Descriptor() ([]byte, []int) {
+ return file_library_library_msg_proto_rawDescGZIP(), []int{16}
+}
+
+func (x *LibraryFetterstoryTaskResp) GetTaskIds() []int32 {
+ if x != nil {
+ return x.TaskIds
+ }
+ return nil
+}
+
var File_library_library_msg_proto protoreflect.FileDescriptor
var file_library_library_msg_proto_rawDesc = []byte{
@@ -831,8 +926,15 @@ var file_library_library_msg_proto_rawDesc = []byte{
0x61, 0x72, 0x79, 0x4c, 0x76, 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, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61,
- 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
+ 0x74, 0x61, 0x22, 0x37, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12,
+ 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1a, 0x4c,
+ 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72,
+ 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73,
+ 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b,
+ 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var (
@@ -847,7 +949,7 @@ func file_library_library_msg_proto_rawDescGZIP() []byte {
return file_library_library_msg_proto_rawDescData
}
-var file_library_library_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
+var file_library_library_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_library_library_msg_proto_goTypes = []interface{}{
(*LibraryGetListReq)(nil), // 0: LibraryGetListReq
(*LibraryGetListResp)(nil), // 1: LibraryGetListResp
@@ -864,21 +966,23 @@ var file_library_library_msg_proto_goTypes = []interface{}{
(*LibraryChangePush)(nil), // 12: LibraryChangePush
(*LibraryLvRewardReq)(nil), // 13: LibraryLvRewardReq
(*LibraryLvRewardResp)(nil), // 14: LibraryLvRewardResp
- nil, // 15: LibraryUseGiftReq.ItemsEntry
- (*DBLibrary)(nil), // 16: DBLibrary
- (*DBHeroFetter)(nil), // 17: DBHeroFetter
+ (*LibraryFetterstoryTaskReq)(nil), // 15: LibraryFetterstoryTaskReq
+ (*LibraryFetterstoryTaskResp)(nil), // 16: LibraryFetterstoryTaskResp
+ nil, // 17: LibraryUseGiftReq.ItemsEntry
+ (*DBLibrary)(nil), // 18: DBLibrary
+ (*DBHeroFetter)(nil), // 19: DBHeroFetter
}
var file_library_library_msg_proto_depIdxs = []int32{
- 16, // 0: LibraryGetListResp.data:type_name -> DBLibrary
- 17, // 1: LibraryGetFetterListResp.data:type_name -> DBHeroFetter
- 16, // 2: LibraryGetRewardResp.data:type_name -> DBLibrary
- 17, // 3: LibraryGetStoryRewardResp.data:type_name -> DBHeroFetter
- 15, // 4: LibraryUseGiftReq.items:type_name -> LibraryUseGiftReq.ItemsEntry
- 17, // 5: LibraryUseGiftResp.data:type_name -> DBHeroFetter
- 16, // 6: LibraryActivationFetterResp.data:type_name -> DBLibrary
- 16, // 7: LibraryChangePush.data:type_name -> DBLibrary
- 17, // 8: LibraryChangePush.fetter:type_name -> DBHeroFetter
- 17, // 9: LibraryLvRewardResp.data:type_name -> DBHeroFetter
+ 18, // 0: LibraryGetListResp.data:type_name -> DBLibrary
+ 19, // 1: LibraryGetFetterListResp.data:type_name -> DBHeroFetter
+ 18, // 2: LibraryGetRewardResp.data:type_name -> DBLibrary
+ 19, // 3: LibraryGetStoryRewardResp.data:type_name -> DBHeroFetter
+ 17, // 4: LibraryUseGiftReq.items:type_name -> LibraryUseGiftReq.ItemsEntry
+ 19, // 5: LibraryUseGiftResp.data:type_name -> DBHeroFetter
+ 18, // 6: LibraryActivationFetterResp.data:type_name -> DBLibrary
+ 18, // 7: LibraryChangePush.data:type_name -> DBLibrary
+ 19, // 8: LibraryChangePush.fetter:type_name -> DBHeroFetter
+ 19, // 9: LibraryLvRewardResp.data:type_name -> DBHeroFetter
10, // [10:10] is the sub-list for method output_type
10, // [10:10] is the sub-list for method input_type
10, // [10:10] is the sub-list for extension type_name
@@ -1073,6 +1177,30 @@ func file_library_library_msg_proto_init() {
return nil
}
}
+ file_library_library_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LibraryFetterstoryTaskReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_library_library_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LibraryFetterstoryTaskResp); 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{
@@ -1080,7 +1208,7 @@ func file_library_library_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_library_library_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 16,
+ NumMessages: 18,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/sys/configure/structs/Game.LibraryComplot.go b/sys/configure/structs/Game.LibraryComplot.go
new file mode 100644
index 000000000..0ad68b148
--- /dev/null
+++ b/sys/configure/structs/Game.LibraryComplot.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 GameLibraryComplot struct {
+ _dataMap map[int32]*GameLibraryComplotData
+ _dataList []*GameLibraryComplotData
+}
+
+func NewGameLibraryComplot(_buf []map[string]interface{}) (*GameLibraryComplot, error) {
+ _dataList := make([]*GameLibraryComplotData, 0, len(_buf))
+ dataMap := make(map[int32]*GameLibraryComplotData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameLibraryComplotData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameLibraryComplot{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameLibraryComplot) GetDataMap() map[int32]*GameLibraryComplotData {
+ return table._dataMap
+}
+
+func (table *GameLibraryComplot) GetDataList() []*GameLibraryComplotData {
+ return table._dataList
+}
+
+func (table *GameLibraryComplot) Get(key int32) *GameLibraryComplotData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.LibraryComplotData.go b/sys/configure/structs/Game.LibraryComplotData.go
new file mode 100644
index 000000000..aeb25a1ed
--- /dev/null
+++ b/sys/configure/structs/Game.LibraryComplotData.go
@@ -0,0 +1,51 @@
+//------------------------------------------------------------------------------
+//
+// 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 GameLibraryComplotData struct {
+ Id int32
+ SubTask int32
+ NodeIndex int32
+ Order string
+ StoryId int32
+ FetterId int32
+ Name string
+ Describe string
+ Img string
+}
+
+const TypeId_GameLibraryComplotData = 172849261
+
+func (*GameLibraryComplotData) GetTypeId() int32 {
+ return 172849261
+}
+
+func (_v *GameLibraryComplotData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["subTask"].(float64); !_ok_ { err = errors.New("subTask error"); return }; _v.SubTask = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nodeIndex"].(float64); !_ok_ { err = errors.New("nodeIndex error"); return }; _v.NodeIndex = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Order, _ok_ = _buf["order"].(string); !_ok_ { err = errors.New("order error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["story_id"].(float64); !_ok_ { err = errors.New("story_id error"); return }; _v.StoryId = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fetter_id"].(float64); !_ok_ { err = errors.New("fetter_id error"); return }; _v.FetterId = int32(_tempNum_) }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["describe"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Describe error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Describe, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
+ return
+}
+
+func DeserializeGameLibraryComplotData(_buf map[string]interface{}) (*GameLibraryComplotData, error) {
+ v := &GameLibraryComplotData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}