diff --git a/bin/json/game_expeditionboos.json b/bin/json/game_expeditionboos.json
new file mode 100644
index 000000000..66b5c0ddb
--- /dev/null
+++ b/bin/json/game_expeditionboos.json
@@ -0,0 +1,457 @@
+[
+ {
+ "boss_id": 50000001,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_1",
+ "text": "希卡普"
+ },
+ "boss_lv": 1,
+ "serial": 1,
+ "fighting": 1000,
+ "boss_img": 11009,
+ "kill_reward": 1004,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 50
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000002,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_2",
+ "text": "波比"
+ },
+ "boss_lv": 1,
+ "serial": 2,
+ "fighting": 1200,
+ "boss_img": 11009,
+ "kill_reward": 1005,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 50
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000003,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_3",
+ "text": "阿宝"
+ },
+ "boss_lv": 1,
+ "serial": 3,
+ "fighting": 1440,
+ "boss_img": 11009,
+ "kill_reward": 1006,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 50
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000004,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_4",
+ "text": "希卡普"
+ },
+ "boss_lv": 1,
+ "serial": 4,
+ "fighting": 1728,
+ "boss_img": 11009,
+ "kill_reward": 1007,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 51
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000005,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_5",
+ "text": "波比"
+ },
+ "boss_lv": 1,
+ "serial": 5,
+ "fighting": 2073,
+ "boss_img": 11009,
+ "kill_reward": 1008,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 52
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000006,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_6",
+ "text": "阿宝"
+ },
+ "boss_lv": 1,
+ "serial": 6,
+ "fighting": 2487,
+ "boss_img": 11009,
+ "kill_reward": 1009,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 53
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000007,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_7",
+ "text": "希卡普"
+ },
+ "boss_lv": 1,
+ "serial": 7,
+ "fighting": 2984,
+ "boss_img": 11009,
+ "kill_reward": 1010,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 54
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000008,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_8",
+ "text": "波比"
+ },
+ "boss_lv": 2,
+ "serial": 1,
+ "fighting": 3580,
+ "boss_img": 11009,
+ "kill_reward": 1011,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 55
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000009,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_9",
+ "text": "阿宝"
+ },
+ "boss_lv": 2,
+ "serial": 2,
+ "fighting": 4296,
+ "boss_img": 11009,
+ "kill_reward": 1012,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 56
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000010,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_10",
+ "text": "希卡普"
+ },
+ "boss_lv": 2,
+ "serial": 3,
+ "fighting": 5155,
+ "boss_img": 11009,
+ "kill_reward": 1013,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 57
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000011,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_11",
+ "text": "波比"
+ },
+ "boss_lv": 2,
+ "serial": 4,
+ "fighting": 6186,
+ "boss_img": 11009,
+ "kill_reward": 1014,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 58
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000012,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_12",
+ "text": "阿宝"
+ },
+ "boss_lv": 2,
+ "serial": 5,
+ "fighting": 7423,
+ "boss_img": 11009,
+ "kill_reward": 1015,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 59
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ },
+ {
+ "boss_id": 50000013,
+ "boss_name": {
+ "key": "guild_guild_boss_boss_name_13",
+ "text": "希卡普"
+ },
+ "boss_lv": 2,
+ "serial": 6,
+ "fighting": 8907,
+ "boss_img": 11009,
+ "kill_reward": 1016,
+ "fail_reward": [
+ {
+ "a": "attr",
+ "t": "guildcoin",
+ "n": 60
+ }
+ ],
+ "race": [
+ 1,
+ 4
+ ],
+ "job": [
+ 2,
+ 6
+ ],
+ "hid": [
+ 25001
+ ],
+ "color": [
+ 4,
+ 2
+ ],
+ "fight": 50
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_fightingcapacity.json b/bin/json/game_fightingcapacity.json
index 6fb47df0f..4f9ab318e 100644
--- a/bin/json/game_fightingcapacity.json
+++ b/bin/json/game_fightingcapacity.json
@@ -1,34 +1,34 @@
[
{
- "id": 53,
+ "id": 3,
"value": 100
},
{
- "id": 56,
+ "id": 4,
"value": 1400
},
{
- "id": 59,
+ "id": 5,
"value": 1400
},
{
- "id": 62,
+ "id": 6,
"value": 13500
},
{
- "id": 65,
+ "id": 7,
"value": 15500
},
{
- "id": 68,
+ "id": 8,
"value": 11400
},
{
- "id": 71,
+ "id": 9,
"value": 14000
},
{
- "id": 74,
+ "id": 10,
"value": 14000
},
{
diff --git a/bin/json/game_monsterformat.json b/bin/json/game_monsterformat.json
index 7e193f44f..f08595b4e 100644
--- a/bin/json/game_monsterformat.json
+++ b/bin/json/game_monsterformat.json
@@ -123776,12 +123776,12 @@
"newskill": [],
"lv": 65,
"hppro": 18,
- "atkpro": 1.7,
- "defpro": 0.8,
+ "atkpro": 1.65,
+ "defpro": 0.5,
"skill1": 1,
"skill2": 1,
"skill3": 1,
- "speed": 155,
+ "speed": 145,
"modelsize": 1
},
{
@@ -123801,7 +123801,7 @@
"skill1": 1,
"skill2": 1,
"skill3": 1,
- "speed": 165,
+ "speed": 155,
"modelsize": 1
},
{
diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json
index 6ea20ee96..373608b15 100644
--- a/bin/json/game_skillpassive.json
+++ b/bin/json/game_skillpassive.json
@@ -13431,7 +13431,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
- "TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000116,OverlayNum=25",
+ "TargetCheck": "Target=2,HasBuff=391000116,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",
@@ -13457,7 +13457,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
- "TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000123,OverlayNum=25",
+ "TargetCheck": "Target=2,HasBuff=391000123,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",
@@ -13483,7 +13483,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
- "TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000127,OverlayNum=25",
+ "TargetCheck": "Target=2,HasBuff=391000127,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",
diff --git a/bin/json/game_vikingrecommend.json b/bin/json/game_vikingrecommend.json
index acfcc24b8..5dab430e9 100644
--- a/bin/json/game_vikingrecommend.json
+++ b/bin/json/game_vikingrecommend.json
@@ -7,25 +7,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_1",
- "text": "生存输出"
+ "text": "输出"
},
"herolist1": [
- "35001",
- "15003",
- "35005",
- "14003",
- "13004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_1",
- "text": "生存治疗"
+ "text": "治疗"
},
"herolist2": [
- "25004",
- "15005",
- "45003",
- "43006",
- "13004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -36,25 +36,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_2",
- "text": "多段输出"
+ "text": "单段输出"
},
"herolist1": [
- "15003",
- "14003",
- "35005",
- "35002",
- "14007"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_2",
- "text": "辅助控制"
+ "text": "净化"
},
"herolist2": [
- "15005",
- "45003",
- "14007",
- "24001",
- "25004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -65,25 +65,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_3",
- "text": "单段输出"
+ "text": "多段输出"
},
"herolist1": [
- "44001",
- "44006",
- "24003",
- "35001",
- "24005"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_3",
- "text": "辅助净化"
+ "text": "治疗"
},
"herolist2": [
- "24005",
- "24003",
- "15005",
- "35001",
- "13004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -94,25 +94,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_4",
- "text": "限制出手"
+ "text": "限制"
},
"herolist1": [
- "14003",
- "44001",
- "15004",
- "24001",
- "43002"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_4",
- "text": "辅助控制"
+ "text": "辅助"
},
"herolist2": [
- "24005",
- "43002",
- "35006",
- "24003",
- "15005"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -123,25 +123,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_5",
- "text": "爆发输出"
+ "text": "爆发"
},
"herolist1": [
- "44001",
- "35001",
- "35005",
- "15003",
- "35001"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_5",
- "text": "辅助禁疗"
+ "text": "禁疗"
},
"herolist2": [
- "43004",
- "35001",
- "35006",
- "35005",
- "44001"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -155,22 +155,22 @@
"text": "无视防御"
},
"herolist1": [
- "35004",
- "44001",
- "35001",
- "35005",
- "15003"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_6",
- "text": "辅助中毒"
+ "text": "中毒"
},
"herolist2": [
- "24002",
- "13002",
- "35005",
- "15005",
- "34005"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -181,25 +181,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_7",
- "text": "中毒输出"
+ "text": "中毒"
},
"herolist1": [
- "34005",
- "24002",
- "13002",
- "33003",
- "35005"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_7",
- "text": "生存治疗"
+ "text": "治疗"
},
"herolist2": [
- "15005",
- "45003",
- "43006",
- "13004",
- "25004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
},
{
@@ -210,25 +210,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_8",
- "text": "群体爆发"
+ "text": "群体伤害"
},
"herolist1": [
- "15004",
- "35001",
- "15003",
- "35005",
- "14003"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_8",
- "text": "控制输出"
+ "text": "爆发"
},
"herolist2": [
- "14003",
- "44001",
- "24005",
- "24003",
- "15004"
+ "25001",
+ "25001",
+ "25001",
+ "25001",
+ "25001"
]
}
]
\ No newline at end of file
diff --git a/modules/equipment/module.go b/modules/equipment/module.go
index 0c72841b9..f407f7d61 100644
--- a/modules/equipment/module.go
+++ b/modules/equipment/module.go
@@ -764,13 +764,13 @@ GM 命令接口
func (this *Equipment) GMGetSuitAllEquip(session comm.IUserSession, suit int32, star int32, lv, num int32) (errdata *pb.ErrorData) {
var (
err error
- conf []*cfg.GameEquipData
+ confs []*cfg.GameEquipData
intensify *cfg.GameEquipIntensifyData
equipment *pb.DB_Equipment
equips []*pb.DB_Equipment
)
- conf, err = this.configure.GetSuitEquipmentConfigure(suit)
- for _, v := range conf {
+ confs, err = this.configure.GetSuitEquipmentConfigure(suit)
+ for _, v := range confs {
if v.Color == star {
for i := int32(0); i < num; i++ {
if equipment, err = this.modelEquipment.newEquipment(session.GetUserId(), v, nil, false); err != nil {
@@ -801,8 +801,9 @@ func (this *Equipment) GMGetSuitAllEquip(session comm.IUserSession, suit int32,
}
}
}
+ equips = append(equips, equipment)
}
- equips = append(equips, equipment)
+
}
}
diff --git a/modules/expedition/api.go b/modules/expedition/api.go
new file mode 100644
index 000000000..360796d91
--- /dev/null
+++ b/modules/expedition/api.go
@@ -0,0 +1,20 @@
+package expedition
+
+import (
+ "go_dreamfactory/lego/base"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+)
+
+type apiComp struct {
+ modules.MCompGate
+ service base.IRPCXService
+ module *Expedition
+}
+
+func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ _ = this.MCompGate.Init(service, module, comp, options)
+ this.service = service.(base.IRPCXService)
+ this.module = module.(*Expedition)
+ return
+}
diff --git a/modules/expedition/api_info.go b/modules/expedition/api_info.go
new file mode 100644
index 000000000..69e8b2020
--- /dev/null
+++ b/modules/expedition/api_info.go
@@ -0,0 +1,45 @@
+package expedition
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/pb"
+ "go_dreamfactory/utils"
+)
+
+// 参数校验
+func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ExpeditionInfoReq) (errdata *pb.ErrorData) {
+
+ return
+}
+
+// 获取工会boos战信息
+func (this *apiComp) Info(session comm.IUserSession, req *pb.ExpeditionInfoReq) (errdata *pb.ErrorData) {
+ var (
+ member *pb.DBGuildMember
+ info *pb.DBExpedition
+ err error
+ )
+ if errdata = this.InfoCheck(session, req); errdata != nil {
+ return
+ }
+ lock, _ := this.module.modelExpedition.userlock(req.Guildid)
+ err = lock.Lock()
+ if err != nil {
+ this.module.Error("公会战分布式锁 err!", log.Field{Key: "Guildid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ defer lock.Unlock()
+ if info, err = this.module.modelExpedition.getInfo(req.Guildid); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Message: err.Error(),
+ }
+ return
+ }
+ if !utils.IsSameWeek(member.Refreshtime) {
+ this.module.modelExpedition.refreshBoos(info)
+ }
+ session.SendMsg(string(this.module.GetType()), "info", &pb.ExpeditionInfoResp{Info: info})
+ return
+}
diff --git a/modules/expedition/api_uphero.go b/modules/expedition/api_uphero.go
new file mode 100644
index 000000000..80b2dfa1d
--- /dev/null
+++ b/modules/expedition/api_uphero.go
@@ -0,0 +1,82 @@
+package expedition
+
+import (
+ "fmt"
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/pb"
+)
+
+// 参数校验
+func (this *apiComp) UpHeroCheck(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) {
+
+ return
+}
+
+// 获取工会boos战信息
+func (this *apiComp) UpHero(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) {
+ var (
+ // conf *cfg.GameExpeditionBoosData
+ member *pb.DBExpeditionMember
+ info *pb.DBExpedition
+ boos *pb.DBExpeditionBoos
+ // heros []*pb.DBHero
+ err error
+ )
+ if errdata = this.UpHeroCheck(session, req); errdata != nil {
+ return
+ }
+
+ lock, _ := this.module.modelExpedition.userlock(req.Guildid)
+ err = lock.Lock()
+ if err != nil {
+ this.module.Error("公会战分布式锁 err!", log.Field{Key: "Guildid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ defer lock.Unlock()
+ if info, err = this.module.modelExpedition.getInfo(req.Guildid); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Message: err.Error(),
+ }
+ return
+ }
+ for _, v := range info.Boos {
+ if v.Boosid == info.Currboos {
+ boos = v
+ }
+ }
+
+ if boos == nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_SystemError,
+ Message: fmt.Sprintf("no found currboos:%d", info.Currboos),
+ }
+ return
+ }
+
+ // if conf, err = this.module.configure.getGameExpeditionBoosData(info.Currboos); err != nil {
+ // errdata = &pb.ErrorData{
+ // Code: pb.ErrorCode_ConfigNoFound,
+ // Message: err.Error(),
+ // }
+ // return
+ // }
+ // if heros, err = this.module.ModuleHero.QueryCrossMultipleHeroinfo(req.Heros); err != nil {
+ // errdata = &pb.ErrorData{
+ // Code: pb.ErrorCode_DBError,
+ // Message: err.Error(),
+ // }
+ // return
+ // }
+ member = &pb.DBExpeditionMember{
+ Uid: session.GetUserId(),
+ Heros: req.Heros,
+ Totalpower: 100,
+ State: 1,
+ }
+ boos.Members[session.GetUserId()] = member
+ this.module.modelExpedition.updateGuildGve(info)
+ session.SendMsg(string(this.module.GetType()), "info", &pb.ExpeditionInfoResp{Info: info})
+ return
+}
diff --git a/modules/expedition/configure.go b/modules/expedition/configure.go
new file mode 100644
index 000000000..7a8850129
--- /dev/null
+++ b/modules/expedition/configure.go
@@ -0,0 +1,70 @@
+package expedition
+
+import (
+ "fmt"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ cfg "go_dreamfactory/sys/configure/structs"
+)
+
+const (
+ game_expeditionboos = "game_expeditionboos.json"
+)
+
+// /配置管理基础组件
+type MCompConfigure struct {
+ modules.MCompConfigure
+ module *Expedition
+}
+
+// 组件初始化接口
+func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.ModuleCompBase.Init(service, module, comp, options)
+ this.module = module.(*Expedition)
+ err = this.LoadMultiConfigure(map[string]interface{}{
+ game_expeditionboos: cfg.NewGameExpeditionBoos,
+ })
+ return
+}
+
+// 获取所有难度一的boos
+func (this *MCompConfigure) getGameExpeditionBoosDatas(lv int32) (confs []*cfg.GameExpeditionBoosData, err error) {
+ var (
+ v interface{}
+ )
+
+ if v, err = this.GetConfigure(game_expeditionboos); err != nil {
+ return
+ } else {
+ data, ok := v.(*cfg.GameExpeditionBoos)
+ if !ok {
+ err = fmt.Errorf("%T no is *cfg.GameGuildActivity", v)
+ return
+ }
+ confs = make([]*cfg.GameExpeditionBoosData, 0)
+ for _, v := range data.GetDataList() {
+ if v.BossLv == lv {
+ confs = append(confs, v)
+ }
+ }
+ return
+ }
+}
+
+// 获取所有难度一的boos
+func (this *MCompConfigure) getGameExpeditionBoosData(id int32) (conf *cfg.GameExpeditionBoosData, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+
+ if v, err = this.GetConfigure(game_expeditionboos); err != nil {
+ return
+ } else {
+ if conf, ok = v.(*cfg.GameExpeditionBoos).GetDataMap()[id]; !ok {
+ err = fmt.Errorf("%T no is *cfg.GameGuildActivity", v)
+ return
+ }
+ return
+ }
+}
diff --git a/modules/expedition/core.go b/modules/expedition/core.go
new file mode 100644
index 000000000..1b96b11eb
--- /dev/null
+++ b/modules/expedition/core.go
@@ -0,0 +1,5 @@
+package expedition
+
+const (
+ UnionGveBoosCoonfKey = "UnionGveBoosCoonf"
+)
diff --git a/modules/expedition/modelExpedition.go b/modules/expedition/modelExpedition.go
new file mode 100644
index 000000000..261f6cd4a
--- /dev/null
+++ b/modules/expedition/modelExpedition.go
@@ -0,0 +1,206 @@
+package expedition
+
+import (
+ "fmt"
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/lego/sys/mgo"
+ "go_dreamfactory/lego/sys/redis"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "go_dreamfactory/sys/db"
+ "sync"
+)
+
+type ModelExpedition struct {
+ modules.MCompModel
+ module *Expedition
+ conflock sync.RWMutex
+ bossconf *pb.DBGuildGveBossConf
+}
+
+func (this *ModelExpedition) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompModel.Init(service, module, comp, options)
+ this.TableName = comm.TableGuildgve
+ this.module = module.(*Expedition)
+ return
+}
+
+func (this *ModelExpedition) Start() (err error) {
+ err = this.MCompModel.Start()
+ return
+}
+
+// 批量查询工会信息
+func (this *ModelExpedition) querySociatys(guildids []string) (result []*pb.DBGuildGve, err error) {
+ result = make([]*pb.DBGuildGve, 0)
+ if _, err = this.Gets(guildids, &result); err != nil && err != mgo.MongodbNil {
+ this.module.Errorln(err)
+ return
+ }
+ err = nil
+ return
+}
+
+// 获取用户全部的埋点数据
+func (this *ModelExpedition) getInfo(guildid string) (result *pb.DBExpedition, err error) {
+ var (
+ confs []*cfg.GameExpeditionBoosData
+ )
+ result = &pb.DBExpedition{}
+ if err = this.GetByID(guildid, result); err != nil && err != mgo.MongodbNil {
+ this.module.Errorln(err)
+ return
+ }
+ if err == mgo.MongodbNil {
+ if confs, err = this.module.configure.getGameExpeditionBoosDatas(1); err != nil {
+ return
+ }
+ result = &pb.DBExpedition{
+ Guildid: guildid,
+ Lv: 1,
+ Refresh: configure.Now().Unix(),
+ Boos: make([]*pb.DBExpeditionBoos, 0),
+ }
+ for _, v := range confs {
+ result.Boos = append(result.Boos, &pb.DBExpeditionBoos{
+ Boosid: v.BossId,
+ Hp: v.Fighting,
+ Members: make(map[string]*pb.DBExpeditionMember),
+ })
+ }
+ result.Currboos = result.Boos[0].Boosid
+ err = this.Add(guildid, result)
+ }
+ return
+}
+
+func (this *ModelExpedition) updateGuildGve(data *pb.DBExpedition) (err error) {
+ if err = this.ChangeById(data.Guildid, map[string]interface{}{
+ "boos": data.Boos,
+ }); err != nil {
+ this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ return
+}
+
+// 刷新全局配置
+func (this *ModelExpedition) refreshBoos(info *pb.DBExpedition) (conf *pb.DBGuildGveBossConf, err error) {
+ var (
+ confs []*cfg.GameExpeditionBoosData
+ )
+ if confs, err = this.module.configure.getGameExpeditionBoosDatas(info.Lv); err != nil {
+ return
+ }
+ info.Boos = make([]*pb.DBExpeditionBoos, 0)
+ for _, v := range confs {
+ info.Boos = append(info.Boos, &pb.DBExpeditionBoos{
+ Boosid: v.BossId,
+ Hp: v.Fighting,
+ Members: make(map[string]*pb.DBExpeditionMember),
+ })
+ }
+ info.Currboos = info.Boos[0].Boosid
+ return
+}
+
+// 分布式锁
+func (this *ModelExpedition) userlock(id string) (result *redis.RedisMutex, err error) {
+ return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("%s-lockexpedition:%s", this.DBModel.ServiceId, id))
+}
+
+// boos 血量变化推送
+func (this *ModelExpedition) booshpchangepush(unionid string, info *pb.DBGuildGve) {
+ var (
+ members []*pb.SociatyMemberInfo
+ users []string = make([]string, 0)
+ errdata *pb.ErrorData
+ )
+ if members, errdata = this.module.sociaty.MembersBySociatyId(unionid); errdata != nil {
+ this.module.Debug("获取工会成员列表!", log.Field{Key: "errdata", Value: errdata})
+ return
+ }
+ for _, v := range members {
+ users = append(users, v.Uinfo.Uid)
+
+ }
+ this.module.SendMsgToUsers(string(this.module.GetType()), "booschange", &pb.GuildGveBoosChangePush{
+ Info: info,
+ }, users...)
+}
+
+// boos 信息变化推送
+func (this *ModelExpedition) infochangepush(unionid string, info *pb.DBGuildGve) {
+ var (
+ members []*pb.SociatyMemberInfo
+ users []string = make([]string, 0)
+ errdata *pb.ErrorData
+ )
+ if members, errdata = this.module.sociaty.MembersBySociatyId(unionid); errdata != nil {
+ this.module.Debug("获取工会成员列表!", log.Field{Key: "errdata", Value: errdata})
+ return
+ }
+ for _, v := range members {
+ users = append(users, v.Uinfo.Uid)
+
+ }
+ this.module.SendMsgToUsers(string(this.module.GetType()), "infochange", &pb.GuildGveInfoChangePush{
+ Info: info,
+ }, users...)
+}
+
+// 更新埋点数据到db中
+func (this *ModelExpedition) guildgveModel() (model *guildgveModel, err error) {
+ var (
+ conn *db.DBConn
+ m *db.DBModel
+ )
+ if db.IsCross() {
+ model = &guildgveModel{module: this.module, model: this.DBModel}
+ } else {
+ if conn, err = db.Cross(); err != nil {
+ return
+ }
+ m = db.NewDBModel(db.CrossTag(), this.TableName, conn)
+ model = &guildgveModel{module: this.module, model: m}
+ }
+ return
+}
+
+// 埋点专属模型 会封装特殊的数据转换接口
+type guildgveModel struct {
+ module *Expedition
+ model *db.DBModel
+}
+
+// 分布式锁
+func (this *guildgveModel) userlock(id string) (result *redis.RedisMutex, err error) {
+ return this.model.Redis.NewRedisMutex(fmt.Sprintf("%s-lockexpedition:%s", this.model.ServiceId, id))
+}
+
+// 获取用户全部的埋点数据
+func (this *guildgveModel) getGuildGve(guildid string) (results *pb.DBGuildGve, err error) {
+
+ results = &pb.DBGuildGve{
+ Boos: make([]*pb.DBGuildGveBoss, 0),
+ }
+ if err = this.model.GetByID(guildid, results); err != nil {
+ this.module.Errorln(err)
+ return
+ }
+ return
+}
+
+func (this *guildgveModel) updateGuildGve(data *pb.DBExpedition) (err error) {
+ if err = this.model.ChangeById(data.Guildid, map[string]interface{}{
+ "boos": data.Boos,
+ }); err != nil {
+ this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ return
+}
diff --git a/modules/expedition/module.go b/modules/expedition/module.go
index 36421496e..0193f512d 100644
--- a/modules/expedition/module.go
+++ b/modules/expedition/module.go
@@ -4,13 +4,13 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
+ "go_dreamfactory/pb"
)
/*
-模块名:论坛
-描述:处理跨服社交论坛相关业务
-开发:李伟
+公会远征
*/
+
func NewModule() core.IModule {
m := new(Expedition)
return m
@@ -18,9 +18,62 @@ func NewModule() core.IModule {
type Expedition struct {
modules.ModuleBase
+ service comm.IService
+ sociaty comm.ISociaty
+ mail comm.Imail
+ api *apiComp
+ modelExpedition *ModelExpedition
+ configure *MCompConfigure
}
-//模块名
+// 模块名
func (this *Expedition) GetType() core.M_Modules {
return comm.ModuleExpedition
}
+
+// 模块初始化接口 注册用户创建角色事件
+func (this *Expedition) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
+ if err = this.ModuleBase.Init(service, module, options); err != nil {
+ return
+ }
+ this.service = service.(comm.IService)
+ return
+}
+func (this *Expedition) Start() (err error) {
+ if err = this.ModuleBase.Start(); err != nil {
+ return
+ }
+ var module core.IModule
+ if module, err = this.service.GetModule(comm.ModuleSociaty); err != nil {
+ return
+ }
+ this.sociaty = module.(comm.ISociaty)
+ if module, err = this.service.GetModule(comm.ModuleMail); err != nil {
+ return
+ }
+ this.mail = module.(comm.Imail)
+ return
+}
+
+// 装备组件
+func (this *Expedition) OnInstallComp() {
+ this.ModuleBase.OnInstallComp()
+ this.api = this.RegisterComp(new(apiComp)).(*apiComp)
+ this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
+ this.modelExpedition = this.RegisterComp(new(ModelExpedition)).(*ModelExpedition)
+}
+
+// 红点
+func (this *Expedition) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) {
+ var ()
+ reddot = make(map[comm.ReddotType]*pb.ReddotItem)
+
+ for _, v := range rid {
+ switch v {
+ case comm.Reddot15301:
+
+ break
+ }
+ }
+ return
+}
diff --git a/modules/expedition/module_test.go b/modules/expedition/module_test.go
new file mode 100644
index 000000000..49ff60d1b
--- /dev/null
+++ b/modules/expedition/module_test.go
@@ -0,0 +1,77 @@
+package expedition_test
+
+import (
+ "fmt"
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego"
+ "go_dreamfactory/lego/base/rpcx"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules/chat"
+ "go_dreamfactory/services"
+ "go_dreamfactory/sys/db"
+ "os"
+ "testing"
+ "time"
+
+ "github.com/go-redis/redis/v8"
+)
+
+func newService(ops ...rpcx.Option) core.IService {
+ s := new(TestService)
+ s.Configure(ops...)
+ return s
+}
+
+// 梦工厂基础服务对象
+type TestService struct {
+ services.ServiceBase
+}
+
+// 初始化相关系统
+func (this *TestService) InitSys() {
+ this.ServiceBase.InitSys()
+ if err := db.OnInit(this.GetSettings().Sys["db"], db.SetServiceId(this.GetTag())); err != nil {
+ panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
+ } else {
+ log.Infof("init sys.db success!")
+ }
+}
+
+var service core.IService
+var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
+var module = new(chat.Chat)
+
+// 测试环境下初始化db和cache 系统
+func TestMain(m *testing.M) {
+ service = newService(
+ rpcx.SetConfPath("../../bin/conf/dfli_worker0.yaml"),
+ rpcx.SetVersion("1.0.0.0"),
+ )
+ service.OnInstallComp( //装备组件
+ s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
+ )
+ go func() {
+ lego.Run(service) //运行模块
+
+ }()
+ time.Sleep(time.Second * 3)
+ defer os.Exit(m.Run())
+}
+
+func Test_Module(t *testing.T) {
+ var (
+ key string
+ score float64
+ menbers *redis.Z
+ conn *db.DBConn
+ err error
+ )
+ key = "guildgvebattlerank:3"
+ score = 1
+ menbers = &redis.Z{Score: (score), Member: "member"}
+ conn, err = db.Local()
+ if err = conn.Redis.ZAdd(key, menbers); err != nil {
+ log.Errorln(err)
+ }
+}
diff --git a/pb/chat_db.pb.go b/pb/chat_db.pb.go
index 491fc39d9..d1c8b51a7 100644
--- a/pb/chat_db.pb.go
+++ b/pb/chat_db.pb.go
@@ -87,7 +87,7 @@ const (
ChatType_ItemShare ChatType = 5 //道具分享
ChatType_Parkour ChatType = 6 //捕羊大赛邀请
ChatType_Questionnaire ChatType = 7 //问答分享
- ChatType_XxlRoom ChatType = 8 // 三消房间分享类型
+ ChatType_XxlRoom ChatType = 8 //三消房间分享类型
)
// Enum value maps for ChatType.
diff --git a/pb/expedition_db.pb.go b/pb/expedition_db.pb.go
new file mode 100644
index 000000000..bb23d9653
--- /dev/null
+++ b/pb/expedition_db.pb.go
@@ -0,0 +1,367 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: expedition/expedition_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)
+)
+
+//工会战Boos
+type DBExpedition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid" bson:"_id"`
+ Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv"` //当前第几阶段
+ Refresh int64 `protobuf:"varint,3,opt,name=refresh,proto3" json:"refresh"` //最后刷新时间
+ Currboos int32 `protobuf:"varint,4,opt,name=currboos,proto3" json:"currboos"` //当前boos
+ Boos []*DBExpeditionBoos `protobuf:"bytes,5,rep,name=boos,proto3" json:"boos"` //boos列表
+}
+
+func (x *DBExpedition) Reset() {
+ *x = DBExpedition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_db_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBExpedition) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBExpedition) ProtoMessage() {}
+
+func (x *DBExpedition) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 DBExpedition.ProtoReflect.Descriptor instead.
+func (*DBExpedition) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_db_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DBExpedition) GetGuildid() string {
+ if x != nil {
+ return x.Guildid
+ }
+ return ""
+}
+
+func (x *DBExpedition) GetLv() int32 {
+ if x != nil {
+ return x.Lv
+ }
+ return 0
+}
+
+func (x *DBExpedition) GetRefresh() int64 {
+ if x != nil {
+ return x.Refresh
+ }
+ return 0
+}
+
+func (x *DBExpedition) GetCurrboos() int32 {
+ if x != nil {
+ return x.Currboos
+ }
+ return 0
+}
+
+func (x *DBExpedition) GetBoos() []*DBExpeditionBoos {
+ if x != nil {
+ return x.Boos
+ }
+ return nil
+}
+
+type DBExpeditionBoos struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
+ Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
+ Members map[string]*DBExpeditionMember `protobuf:"bytes,3,rep,name=members,proto3" json:"members" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *DBExpeditionBoos) Reset() {
+ *x = DBExpeditionBoos{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_db_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBExpeditionBoos) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBExpeditionBoos) ProtoMessage() {}
+
+func (x *DBExpeditionBoos) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_db_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBExpeditionBoos.ProtoReflect.Descriptor instead.
+func (*DBExpeditionBoos) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_db_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *DBExpeditionBoos) GetBoosid() int32 {
+ if x != nil {
+ return x.Boosid
+ }
+ return 0
+}
+
+func (x *DBExpeditionBoos) GetHp() int32 {
+ if x != nil {
+ return x.Hp
+ }
+ return 0
+}
+
+func (x *DBExpeditionBoos) GetMembers() map[string]*DBExpeditionMember {
+ if x != nil {
+ return x.Members
+ }
+ return nil
+}
+
+//工会成员信息
+type DBExpeditionMember struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
+ Heros []string `protobuf:"bytes,2,rep,name=heros,proto3" json:"heros"` //上阵英雄
+ Totalpower int32 `protobuf:"varint,3,opt,name=totalpower,proto3" json:"totalpower"` //总战力
+ State int32 `protobuf:"varint,4,opt,name=state,proto3" json:"state"` //状态 0未参与 1参与 2已领取
+}
+
+func (x *DBExpeditionMember) Reset() {
+ *x = DBExpeditionMember{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_db_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBExpeditionMember) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBExpeditionMember) ProtoMessage() {}
+
+func (x *DBExpeditionMember) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 DBExpeditionMember.ProtoReflect.Descriptor instead.
+func (*DBExpeditionMember) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_db_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *DBExpeditionMember) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+func (x *DBExpeditionMember) GetHeros() []string {
+ if x != nil {
+ return x.Heros
+ }
+ return nil
+}
+
+func (x *DBExpeditionMember) GetTotalpower() int32 {
+ if x != nil {
+ return x.Totalpower
+ }
+ return 0
+}
+
+func (x *DBExpeditionMember) GetState() int32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+var File_expedition_expedition_db_proto protoreflect.FileDescriptor
+
+var file_expedition_expedition_db_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
+ 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f,
+ 0x73, 0x12, 0x25, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f,
+ 0x6f, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x10, 0x44, 0x42, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x12, 0x16, 0x0a,
+ 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
+ 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x1a,
+ 0x4f, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x13, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x22, 0x72, 0x0a, 0x12, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x72, 0x6f,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x12, 0x1e,
+ 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_expedition_expedition_db_proto_rawDescOnce sync.Once
+ file_expedition_expedition_db_proto_rawDescData = file_expedition_expedition_db_proto_rawDesc
+)
+
+func file_expedition_expedition_db_proto_rawDescGZIP() []byte {
+ file_expedition_expedition_db_proto_rawDescOnce.Do(func() {
+ file_expedition_expedition_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_expedition_expedition_db_proto_rawDescData)
+ })
+ return file_expedition_expedition_db_proto_rawDescData
+}
+
+var file_expedition_expedition_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_expedition_expedition_db_proto_goTypes = []interface{}{
+ (*DBExpedition)(nil), // 0: DBExpedition
+ (*DBExpeditionBoos)(nil), // 1: DBExpeditionBoos
+ (*DBExpeditionMember)(nil), // 2: DBExpeditionMember
+ nil, // 3: DBExpeditionBoos.MembersEntry
+}
+var file_expedition_expedition_db_proto_depIdxs = []int32{
+ 1, // 0: DBExpedition.boos:type_name -> DBExpeditionBoos
+ 3, // 1: DBExpeditionBoos.members:type_name -> DBExpeditionBoos.MembersEntry
+ 2, // 2: DBExpeditionBoos.MembersEntry.value:type_name -> DBExpeditionMember
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_expedition_expedition_db_proto_init() }
+func file_expedition_expedition_db_proto_init() {
+ if File_expedition_expedition_db_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_expedition_expedition_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBExpedition); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBExpeditionBoos); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBExpeditionMember); 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_expedition_expedition_db_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_expedition_expedition_db_proto_goTypes,
+ DependencyIndexes: file_expedition_expedition_db_proto_depIdxs,
+ MessageInfos: file_expedition_expedition_db_proto_msgTypes,
+ }.Build()
+ File_expedition_expedition_db_proto = out.File
+ file_expedition_expedition_db_proto_rawDesc = nil
+ file_expedition_expedition_db_proto_goTypes = nil
+ file_expedition_expedition_db_proto_depIdxs = nil
+}
diff --git a/pb/expedition_msg.pb.go b/pb/expedition_msg.pb.go
new file mode 100644
index 000000000..22ee2907b
--- /dev/null
+++ b/pb/expedition_msg.pb.go
@@ -0,0 +1,501 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: expedition/expedition_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)
+)
+
+//工会boos战斗 信息请求
+type ExpeditionInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
+}
+
+func (x *ExpeditionInfoReq) Reset() {
+ *x = ExpeditionInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionInfoReq) ProtoMessage() {}
+
+func (x *ExpeditionInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionInfoReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionInfoReq) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionInfoReq) GetGuildid() string {
+ if x != nil {
+ return x.Guildid
+ }
+ return ""
+}
+
+type ExpeditionInfoResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *DBExpedition `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
+}
+
+func (x *ExpeditionInfoResp) Reset() {
+ *x = ExpeditionInfoResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionInfoResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionInfoResp) ProtoMessage() {}
+
+func (x *ExpeditionInfoResp) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionInfoResp.ProtoReflect.Descriptor instead.
+func (*ExpeditionInfoResp) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ExpeditionInfoResp) GetInfo() *DBExpedition {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+//上英雄
+type ExpeditionUpHeroReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
+ Heros []string `protobuf:"bytes,2,rep,name=heros,proto3" json:"heros"`
+}
+
+func (x *ExpeditionUpHeroReq) Reset() {
+ *x = ExpeditionUpHeroReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionUpHeroReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionUpHeroReq) ProtoMessage() {}
+
+func (x *ExpeditionUpHeroReq) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionUpHeroReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionUpHeroReq) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ExpeditionUpHeroReq) GetGuildid() string {
+ if x != nil {
+ return x.Guildid
+ }
+ return ""
+}
+
+func (x *ExpeditionUpHeroReq) GetHeros() []string {
+ if x != nil {
+ return x.Heros
+ }
+ return nil
+}
+
+type ExpeditionUpHeroResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Member *DBExpeditionMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member"`
+}
+
+func (x *ExpeditionUpHeroResp) Reset() {
+ *x = ExpeditionUpHeroResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionUpHeroResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionUpHeroResp) ProtoMessage() {}
+
+func (x *ExpeditionUpHeroResp) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionUpHeroResp.ProtoReflect.Descriptor instead.
+func (*ExpeditionUpHeroResp) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ExpeditionUpHeroResp) GetMember() *DBExpeditionMember {
+ if x != nil {
+ return x.Member
+ }
+ return nil
+}
+
+type ExpeditionReceiveReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
+ Boosid int32 `protobuf:"varint,2,opt,name=boosid,proto3" json:"boosid"`
+}
+
+func (x *ExpeditionReceiveReq) Reset() {
+ *x = ExpeditionReceiveReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionReceiveReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionReceiveReq) ProtoMessage() {}
+
+func (x *ExpeditionReceiveReq) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionReceiveReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionReceiveReq) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *ExpeditionReceiveReq) GetGuildid() string {
+ if x != nil {
+ return x.Guildid
+ }
+ return ""
+}
+
+func (x *ExpeditionReceiveReq) GetBoosid() int32 {
+ if x != nil {
+ return x.Boosid
+ }
+ return 0
+}
+
+type ExpeditionReceiveResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
+ Award []*UserAtno `protobuf:"bytes,3,rep,name=award,proto3" json:"award"` //奖励
+}
+
+func (x *ExpeditionReceiveResp) Reset() {
+ *x = ExpeditionReceiveResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_expedition_expedition_msg_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionReceiveResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionReceiveResp) ProtoMessage() {}
+
+func (x *ExpeditionReceiveResp) ProtoReflect() protoreflect.Message {
+ mi := &file_expedition_expedition_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 ExpeditionReceiveResp.ProtoReflect.Descriptor instead.
+func (*ExpeditionReceiveResp) Descriptor() ([]byte, []int) {
+ return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *ExpeditionReceiveResp) GetBoosid() int32 {
+ if x != nil {
+ return x.Boosid
+ }
+ return 0
+}
+
+func (x *ExpeditionReceiveResp) GetAward() []*UserAtno {
+ if x != nil {
+ return x.Award
+ }
+ return nil
+}
+
+var File_expedition_expedition_msg_proto protoreflect.FileDescriptor
+
+var file_expedition_expedition_msg_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1e, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78,
+ 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a,
+ 0x11, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x12,
+ 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
+ 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67,
+ 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x22, 0x43, 0x0a, 0x14,
+ 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x48, 0x65, 0x72, 0x6f,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65,
+ 0x72, 0x22, 0x48, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
+ 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c,
+ 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x15, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x05,
+ 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73,
+ 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a,
+ 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_expedition_expedition_msg_proto_rawDescOnce sync.Once
+ file_expedition_expedition_msg_proto_rawDescData = file_expedition_expedition_msg_proto_rawDesc
+)
+
+func file_expedition_expedition_msg_proto_rawDescGZIP() []byte {
+ file_expedition_expedition_msg_proto_rawDescOnce.Do(func() {
+ file_expedition_expedition_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_expedition_expedition_msg_proto_rawDescData)
+ })
+ return file_expedition_expedition_msg_proto_rawDescData
+}
+
+var file_expedition_expedition_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_expedition_expedition_msg_proto_goTypes = []interface{}{
+ (*ExpeditionInfoReq)(nil), // 0: ExpeditionInfoReq
+ (*ExpeditionInfoResp)(nil), // 1: ExpeditionInfoResp
+ (*ExpeditionUpHeroReq)(nil), // 2: ExpeditionUpHeroReq
+ (*ExpeditionUpHeroResp)(nil), // 3: ExpeditionUpHeroResp
+ (*ExpeditionReceiveReq)(nil), // 4: ExpeditionReceiveReq
+ (*ExpeditionReceiveResp)(nil), // 5: ExpeditionReceiveResp
+ (*DBExpedition)(nil), // 6: DBExpedition
+ (*DBExpeditionMember)(nil), // 7: DBExpeditionMember
+ (*UserAtno)(nil), // 8: UserAtno
+}
+var file_expedition_expedition_msg_proto_depIdxs = []int32{
+ 6, // 0: ExpeditionInfoResp.info:type_name -> DBExpedition
+ 7, // 1: ExpeditionUpHeroResp.member:type_name -> DBExpeditionMember
+ 8, // 2: ExpeditionReceiveResp.award:type_name -> UserAtno
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_expedition_expedition_msg_proto_init() }
+func file_expedition_expedition_msg_proto_init() {
+ if File_expedition_expedition_msg_proto != nil {
+ return
+ }
+ file_expedition_expedition_db_proto_init()
+ file_comm_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_expedition_expedition_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionInfoResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionUpHeroReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionUpHeroResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionReceiveReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_expedition_expedition_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionReceiveResp); 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_expedition_expedition_msg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_expedition_expedition_msg_proto_goTypes,
+ DependencyIndexes: file_expedition_expedition_msg_proto_depIdxs,
+ MessageInfos: file_expedition_expedition_msg_proto_msgTypes,
+ }.Build()
+ File_expedition_expedition_msg_proto = out.File
+ file_expedition_expedition_msg_proto_rawDesc = nil
+ file_expedition_expedition_msg_proto_goTypes = nil
+ file_expedition_expedition_msg_proto_depIdxs = nil
+}
diff --git a/services/gateway/main.go b/services/gateway/main.go
index c4b5c5bf0..896ae4280 100644
--- a/services/gateway/main.go
+++ b/services/gateway/main.go
@@ -29,11 +29,9 @@ func main() {
)
s.OnInstallComp( //装备组件
)
-
lego.Run(s, //运行模块
gateway.NewModule(),
)
-
}
func NewService(ops ...rpcx.Option) core.IService {
diff --git a/sys/configure/structs/Game.ExpeditionBoos.go b/sys/configure/structs/Game.ExpeditionBoos.go
new file mode 100644
index 000000000..887bca6fe
--- /dev/null
+++ b/sys/configure/structs/Game.ExpeditionBoos.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 GameExpeditionBoos struct {
+ _dataMap map[int32]*GameExpeditionBoosData
+ _dataList []*GameExpeditionBoosData
+}
+
+func NewGameExpeditionBoos(_buf []map[string]interface{}) (*GameExpeditionBoos, error) {
+ _dataList := make([]*GameExpeditionBoosData, 0, len(_buf))
+ dataMap := make(map[int32]*GameExpeditionBoosData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameExpeditionBoosData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.BossId] = _v
+ }
+ }
+ return &GameExpeditionBoos{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameExpeditionBoos) GetDataMap() map[int32]*GameExpeditionBoosData {
+ return table._dataMap
+}
+
+func (table *GameExpeditionBoos) GetDataList() []*GameExpeditionBoosData {
+ return table._dataList
+}
+
+func (table *GameExpeditionBoos) Get(key int32) *GameExpeditionBoosData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.ExpeditionBoosData.go b/sys/configure/structs/Game.ExpeditionBoosData.go
new file mode 100644
index 000000000..d207d0933
--- /dev/null
+++ b/sys/configure/structs/Game.ExpeditionBoosData.go
@@ -0,0 +1,124 @@
+//------------------------------------------------------------------------------
+//
+// 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 GameExpeditionBoosData struct {
+ BossId int32
+ BossName string
+ BossLv int32
+ Serial int32
+ Fighting int32
+ BossImg int32
+ KillReward int32
+ FailReward []*Gameatn
+ Race []int32
+ Job []int32
+ Hid []int32
+ Color []int32
+ Fight int32
+}
+
+const TypeId_GameExpeditionBoosData = -385519144
+
+func (*GameExpeditionBoosData) GetTypeId() int32 {
+ return -385519144
+}
+
+func (_v *GameExpeditionBoosData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_id"].(float64); !_ok_ { err = errors.New("boss_id error"); return }; _v.BossId = int32(_tempNum_) }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["boss_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BossName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BossName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_lv"].(float64); !_ok_ { err = errors.New("boss_lv error"); return }; _v.BossLv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["serial"].(float64); !_ok_ { err = errors.New("serial error"); return }; _v.Serial = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fighting"].(float64); !_ok_ { err = errors.New("fighting error"); return }; _v.Fighting = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_img"].(float64); !_ok_ { err = errors.New("boss_img error"); return }; _v.BossImg = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["kill_reward"].(float64); !_ok_ { err = errors.New("kill_reward error"); return }; _v.KillReward = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["fail_reward"].([]interface{}); !_ok_ { err = errors.New("fail_reward error"); return }
+
+ _v.FailReward = 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.FailReward = append(_v.FailReward, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["race"].([]interface{}); !_ok_ { err = errors.New("race error"); return }
+
+ _v.Race = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Race = append(_v.Race, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["job"].([]interface{}); !_ok_ { err = errors.New("job error"); return }
+
+ _v.Job = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Job = append(_v.Job, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["hid"].([]interface{}); !_ok_ { err = errors.New("hid error"); return }
+
+ _v.Hid = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Hid = append(_v.Hid, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["color"].([]interface{}); !_ok_ { err = errors.New("color error"); return }
+
+ _v.Color = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Color = append(_v.Color, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fight"].(float64); !_ok_ { err = errors.New("fight error"); return }; _v.Fight = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameExpeditionBoosData(_buf map[string]interface{}) (*GameExpeditionBoosData, error) {
+ v := &GameExpeditionBoosData{}
+ 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 4cdec61a6..1d605a879 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -344,6 +344,7 @@ type Tables struct {
FightingSkilllv *GameFightingSkilllv
FightingSkill *GameFightingSkill
FightingSkillStar *GameFightingSkillStar
+ ExpeditionBoos *GameExpeditionBoos
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -2349,5 +2350,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.FightingSkillStar, err = NewGameFightingSkillStar(buf) ; err != nil {
return nil, err
}
+ if buf, err = loader("game_expeditionboos") ; err != nil {
+ return nil, err
+ }
+ if tables.ExpeditionBoos, err = NewGameExpeditionBoos(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}