This commit is contained in:
meixiongfeng 2023-06-07 18:20:37 +08:00
commit 2f34d17669
10 changed files with 141 additions and 124 deletions

View File

@ -19,6 +19,7 @@
### 安装部署依赖环境
1. 安装 MongoDB 教程 https://segmentfault.com/a/1190000039268500
* 安装版本
2. 安装 Redis 教程
- 单节点 https://segmentfault.com/a/1190000023178516
- 集群:https://blog.csdn.net/jiang1986829/article/details/108667854

View File

@ -82,22 +82,22 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq)
}
return
}
if minstr > confs[i].Star {
minstr = confs[i].Star
if minstr > confs[i].Color {
minstr = confs[i].Color
}
// equipStr[confs[i].Star]++
if i < 4 {
if confs[i].Star < suite1Str {
suite1Str = confs[i].Star
if confs[i].Color < suite1Str {
suite1Str = confs[i].Color
}
if equipments[i].Lv < suite1Lv {
suite1Lv = equipments[i].Lv
}
} else if i < 6 {
if confs[i].Star < suite2Str {
suite2Str = confs[i].Star
if confs[i].Color < suite2Str {
suite2Str = confs[i].Color
}
if equipments[i].Lv < suite2Lv {
suite2Lv = equipments[i].Lv

View File

@ -63,7 +63,7 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.EquipmentUpgrade
return
}
//找到下一个等级的相关配置
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Star, equipment.Lv); err != nil || intensify.Need == nil || len(intensify.Need) == 0 {
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, equipment.Lv); err != nil || intensify.Need == nil || len(intensify.Need) == 0 {
this.module.Errorf("Equip_Check err:%v", err)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_EquipmentLvlimitReached,
@ -217,13 +217,13 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.EquipmentUpgrade
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype49, 1, hero.Suite1Star, hero.Suite1Lv))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype93, 1, hero.SuiteId, suite1Lv))
tasks = append(tasks, comm.GetBuriedParam2(comm.Rtype43, equipment.Id, equipment.Lv))
tasks = append(tasks, comm.GetBuriedParam2(comm.Rtype45, equipment.Id, conf.Star, hero.SuiteExtId, hero.Suite2Lv))
tasks = append(tasks, comm.GetBuriedParam2(comm.Rtype45, equipment.Id, conf.Color, hero.SuiteExtId, hero.Suite2Lv))
}
if conf.Pos >= 4 && conf.Pos < 6 && hero.SuiteExtId != 0 {
hero.Suite2Lv = suite2Lv
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype48, 1, hero.Suite2Star, hero.Suite2Lv))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype93, 1, hero.SuiteExtId, suite2Lv))
tasks = append(tasks, comm.GetBuriedParam2(comm.Rtype45, equipment.Id, conf.Star, hero.SuiteExtId, hero.Suite2Lv))
tasks = append(tasks, comm.GetBuriedParam2(comm.Rtype45, equipment.Id, conf.Color, hero.SuiteExtId, hero.Suite2Lv))
}
if errdata = this.module.ModuleHero.UpdateEquipment(session, hero, equipments); errdata != nil {
return

View File

@ -111,8 +111,8 @@ func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds ma
return nil, err
} else {
//随机任务
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, c.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, c.Suittype, c.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, c.Color))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, c.Suittype, c.Color))
unm := int32(1)
if equipment.AdverbEntry != nil {
unm += int32(len(equipment.AdverbEntry))
@ -120,11 +120,11 @@ func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds ma
if equipment.Adverbskill != nil {
unm += int32(len(equipment.Adverbskill))
}
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, c.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, c.Color))
if c.Pos == 7 {
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, c.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, c.Color))
} else if c.Pos == 6 {
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, c.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, c.Color))
}
add[equipment.Id] = equipment
change = append(change, equipment)
@ -313,6 +313,7 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
}
if satterNum > 0 && satterNum <= 4 {
equipment.Star = satterNum
r := rand.New(rand.NewSource(configure.Now().Unix()))
if conf.EquipId == 1 {
equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0)
@ -355,61 +356,62 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ
return
}
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(float64(mainconfigure.AttrvarCorrect)*float64(intensify.Bonus)/1000.0)
if !intensify.Activation { //不触发副词条变化
return
}
if len(equipment.AdverbEntry) < 4 { //去随机副词条
var (
temp []*cfg.GameEquipAttrlibrarySData
sattr []*cfg.GameEquipAttrlibrarySData
equipatt *cfg.GameEquipAttributeData
)
if temp, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil {
this.module.Errorf("升级服务错误 读取副词条配置错误!")
return
}
//检索出未使用的词条
for _, v := range temp {
iskeep := false
for _, v1 := range equipment.AdverbEntry {
if v.Attrkey == v1.AttrName {
if intensify.Activation { //不触发副词条变化
if len(equipment.AdverbEntry) < 4 { //去随机副词条
var (
temp []*cfg.GameEquipAttrlibrarySData
sattr []*cfg.GameEquipAttrlibrarySData
equipatt *cfg.GameEquipAttributeData
)
if temp, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil {
this.module.Errorf("升级服务错误 读取副词条配置错误!")
return
}
//检索出未使用的词条
for _, v := range temp {
iskeep := false
for _, v1 := range equipment.AdverbEntry {
if v.Attrkey == v1.AttrName {
iskeep = true
}
}
if v.Attrkey == equipment.MainEntry.AttrName {
iskeep = true
}
if !iskeep {
sattr = append(sattr, v)
}
}
if v.Attrkey == equipment.MainEntry.AttrName {
iskeep = true
}
if !iskeep {
sattr = append(sattr, v)
}
}
if len(sattr) > 0 {
r := rand.New(rand.NewSource(configure.Now().Unix()))
index := r.Perm(len(sattr))[0]
if equip.EquipId == 1 {
equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
Id: sattr[index].Key,
Libraryid: sattr[index].Libraryid,
Lv: 1,
AttrName: sattr[index].Attrkey,
Value: sattr[index].Attrvar,
})
return
} else {
if equipatt, err = this.module.configure.getEquipAttribute(sattr[index].Attrkey); err != nil {
if len(sattr) > 0 {
r := rand.New(rand.NewSource(configure.Now().Unix()))
index := r.Perm(len(sattr))[0]
if equip.EquipId == 1 {
equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
Id: sattr[index].Key,
Libraryid: sattr[index].Libraryid,
Lv: 1,
AttrName: sattr[index].Attrkey,
Value: sattr[index].Attrvar,
})
return
} else {
if equipatt, err = this.module.configure.getEquipAttribute(sattr[index].Attrkey); err != nil {
return
}
equipment.Adverbskill = append(equipment.Adverbskill, &pb.EquipmentSkillEntry{
Id: sattr[index].Key,
Libraryid: sattr[index].Libraryid,
AttrName: sattr[index].Attrkey,
SkillId: equipatt.SkillId,
Lv: 1,
})
return
}
equipment.Adverbskill = append(equipment.Adverbskill, &pb.EquipmentSkillEntry{
Id: sattr[index].Key,
Libraryid: sattr[index].Libraryid,
AttrName: sattr[index].Attrkey,
SkillId: equipatt.SkillId,
Lv: 1,
})
return
}
}
return
}
if equip.EquipId == 1 {
var attrlibrary *cfg.GameEquipAttrlibrarySData
r := rand.New(rand.NewSource(configure.Now().Unix()))

View File

@ -245,8 +245,8 @@ func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equi
}
tasks := make([]*pb.BuriedParam, 0)
//随机任务
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, configure.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, configure.Suittype, configure.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, configure.Color))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, configure.Suittype, configure.Color))
unm := int32(1)
if equip.AdverbEntry != nil {
unm += int32(len(equip.AdverbEntry))
@ -254,11 +254,11 @@ func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equi
if equip.Adverbskill != nil {
unm += int32(len(equip.Adverbskill))
}
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, configure.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, configure.Color))
if configure.Pos == 7 {
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, configure.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, configure.Color))
} else if configure.Pos == 6 {
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, configure.Star))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, configure.Color))
}
go this.ModuleBuried.TriggerBuried(session.GetUserId(), tasks...)
this.equipmentsChangePush(session, []*pb.DB_Equipment{equip})
@ -472,7 +472,7 @@ func (this *Equipment) GetForgeEquip(session comm.IUserSession, suiteId int32, p
}
if pos != -1 {
for _, v := range configures {
if v.Pos == pos && v.Star == lv {
if v.Pos == pos && v.Color == lv {
if eruip, err = this.modelEquipment.newEquipment(session.GetUserId(), v, dyweight); err == nil {
this.equipmentsChangePush(session, []*pb.DB_Equipment{eruip})
return
@ -495,7 +495,7 @@ func (this *Equipment) GetForgeEquip(session comm.IUserSession, suiteId int32, p
} else {
lvs = make([]*cfg.GameEquipData, 0)
for _, v := range configures {
if v.Star == lv {
if v.Color == lv {
lvs = append(lvs, v)
}
}

View File

@ -128,7 +128,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
if v.A == "equp" {
for _, star := range req.Star {
cfg := this.configure.GetEquipmentConfigureById(v.T)
if cfg != nil && star == cfg.Star { // 自动出售 转换成其他道具
if cfg != nil && star == cfg.Color { // 自动出售 转换成其他道具
if len(cfg.Sale) != 0 {
bFound = true
del = append(del, cfg.Id)

View File

@ -306,7 +306,7 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
if equipConf := this.module.configure.GetEquipmentConfigureById(v.CId); equipConf != nil { // 获取装备等级
go func(cid string, star int32, AdverbEntry int32) {
this.module.modelAtlas.CheckActivateAtlas(session.GetUserId(), cid, star, AdverbEntry, stove.Forge[req.ReelId])
}(v.CId, equipConf.Star, int32(len(v.AdverbEntry)+1)) // 品质按副词条数+1 来算
}(v.CId, equipConf.Color, int32(len(v.AdverbEntry)+1)) // 品质按副词条数+1 来算
}
}
var equip map[int32]int32 // key xingji value 数量
@ -314,7 +314,7 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
tasks := make([]*pb.BuriedParam, 0)
for _, v := range atno {
if cfg := this.module.configure.GetEquipmentConfigureById(v.T); cfg != nil {
equip[cfg.Star]++
equip[cfg.Color]++
}
}
for k, v := range equip {

View File

@ -123,7 +123,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
if v.A == "equp" {
for _, star := range req.Star {
cfg := this.configure.GetEquipmentConfigureById(v.T)
if cfg != nil && star == cfg.Star { // 自动出售 转换成其他道具
if cfg != nil && star == cfg.Color { // 自动出售 转换成其他道具
if len(cfg.Sale) != 0 {
bFound = true
del = append(del, cfg.Id)

View File

@ -23,13 +23,14 @@ const (
type EffectTipsType int32
const (
EffectTipsType_Eff_Success EffectTipsType = 0
EffectTipsType_Not_Success EffectTipsType = 1 //没有成功
EffectTipsType_Immunity EffectTipsType = 2 //免疫
EffectTipsType_Resist EffectTipsType = 3 //抵抗
EffectTipsType_Not_Gain EffectTipsType = 4 //无法获得增益
EffectTipsType_Not_Control EffectTipsType = 5 //免疫控制
EffectTipsType_Not_Action EffectTipsType = 6 //无法行动
EffectTipsType_Eff_Success EffectTipsType = 0
EffectTipsType_Not_Success EffectTipsType = 1 //没有成功
EffectTipsType_Immunity EffectTipsType = 2 //免疫
EffectTipsType_Resist EffectTipsType = 3 //抵抗
EffectTipsType_Not_Gain EffectTipsType = 4 //无法获得增益
EffectTipsType_Not_Control EffectTipsType = 5 //免疫控制
EffectTipsType_Not_Action EffectTipsType = 6 //无法行动
EffectTipsType_Purification EffectTipsType = 7 //净化
)
// Enum value maps for EffectTipsType.
@ -42,15 +43,17 @@ var (
4: "Not_Gain",
5: "Not_Control",
6: "Not_Action",
7: "Purification",
}
EffectTipsType_value = map[string]int32{
"Eff_Success": 0,
"Not_Success": 1,
"Immunity": 2,
"Resist": 3,
"Not_Gain": 4,
"Not_Control": 5,
"Not_Action": 6,
"Eff_Success": 0,
"Not_Success": 1,
"Immunity": 2,
"Resist": 3,
"Not_Gain": 4,
"Not_Control": 5,
"Not_Action": 6,
"Purification": 7,
}
)
@ -1818,16 +1821,17 @@ var file_battle_battle_struct_proto_rawDesc = []byte{
0x43, 0x6f, 0x6d, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a,
0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x7b, 0x0a, 0x0e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x54,
0x69, 0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x66, 0x66, 0x5f, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x5f,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6d, 0x6d,
0x75, 0x6e, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x73,
0x74, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x5f, 0x47, 0x61, 0x69, 0x6e, 0x10,
0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x06, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x8d, 0x01, 0x0a, 0x0e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74,
0x54, 0x69, 0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x66, 0x66, 0x5f,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74,
0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6d,
0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69,
0x73, 0x74, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x5f, 0x47, 0x61, 0x69, 0x6e,
0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x75, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -207,13 +207,14 @@ type DB_Equipment struct {
UId string `protobuf:"bytes,3,opt,name=uId,proto3" json:"uId" bson:"uid"` // 所属玩家Id
HeroId string `protobuf:"bytes,4,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` // 挂在的英雄卡片id 未装备 填 ''
Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv" bson:"lv"` //装备强化等级
KeepFailNum int32 `protobuf:"varint,6,opt,name=keepFailNum,proto3" json:"keepFailNum" bson:"keepFailNum"` // 连续强化失败次数
MainEntry *EquipmentAttributeEntry `protobuf:"bytes,7,opt,name=mainEntry,proto3" json:"mainEntry" bson:"mainEntry"` // 装备主词条
AdverbEntry []*EquipmentAttributeEntry `protobuf:"bytes,8,rep,name=adverbEntry,proto3" json:"adverbEntry" bson:"adverbEntry"` //装备副词条
OverlayNum uint32 `protobuf:"varint,9,opt,name=overlayNum,proto3" json:"overlayNum" bson:"overlayNum"` //叠加数量
IsInitialState bool `protobuf:"varint,10,opt,name=isInitialState,proto3" json:"isInitialState" bson:"isInitialState"` //是否初始状态
Islock bool `protobuf:"varint,11,opt,name=islock,proto3" json:"islock" bson:"islock"` //是否锁
Adverbskill []*EquipmentSkillEntry `protobuf:"bytes,12,rep,name=adverbskill,proto3" json:"adverbskill" bson:"adverbskill"` //装备副技能
Star int32 `protobuf:"varint,6,opt,name=star,proto3" json:"star" bson:"star"` //装备品质
KeepFailNum int32 `protobuf:"varint,7,opt,name=keepFailNum,proto3" json:"keepFailNum" bson:"keepFailNum"` // 连续强化失败次数
MainEntry *EquipmentAttributeEntry `protobuf:"bytes,8,opt,name=mainEntry,proto3" json:"mainEntry" bson:"mainEntry"` // 装备主词条
AdverbEntry []*EquipmentAttributeEntry `protobuf:"bytes,9,rep,name=adverbEntry,proto3" json:"adverbEntry" bson:"adverbEntry"` //装备副词条
OverlayNum uint32 `protobuf:"varint,10,opt,name=overlayNum,proto3" json:"overlayNum" bson:"overlayNum"` //叠加数量
IsInitialState bool `protobuf:"varint,11,opt,name=isInitialState,proto3" json:"isInitialState" bson:"isInitialState"` //是否初始状态
Islock bool `protobuf:"varint,12,opt,name=islock,proto3" json:"islock" bson:"islock"` //是否锁
Adverbskill []*EquipmentSkillEntry `protobuf:"bytes,13,rep,name=adverbskill,proto3" json:"adverbskill" bson:"adverbskill"` //装备副技能
}
func (x *DB_Equipment) Reset() {
@ -283,6 +284,13 @@ func (x *DB_Equipment) GetLv() int32 {
return 0
}
func (x *DB_Equipment) GetStar() int32 {
if x != nil {
return x.Star
}
return 0
}
func (x *DB_Equipment) GetKeepFailNum() int32 {
if x != nil {
return x.KeepFailNum
@ -358,33 +366,35 @@ var file_equipment_equipment_db_proto_rawDesc = []byte{
0x41, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c,
0x6c, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x4c, 0x76, 0x22, 0x98, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d,
0x4c, 0x76, 0x22, 0xac, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d,
0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x63, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12,
0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12,
0x20, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x75,
0x6d, 0x12, 0x36, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09,
0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x64, 0x76,
0x65, 0x72, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x76, 0x65, 0x72, 0x62,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79,
0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c,
0x61, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
0x73, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x69, 0x73, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
0x73, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x64, 0x76, 0x65, 0x72, 0x62, 0x73,
0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x45, 0x71, 0x75,
0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0b, 0x61, 0x64, 0x76, 0x65, 0x72, 0x62, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73,
0x74, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x4e,
0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x46, 0x61,
0x69, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x45, 0x71, 0x75, 0x69, 0x70,
0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3a, 0x0a,
0x0b, 0x61, 0x64, 0x76, 0x65, 0x72, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x09, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64,
0x76, 0x65, 0x72, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x76, 0x65,
0x72, 0x6c, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f,
0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x49,
0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0e, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x08, 0x52, 0x06, 0x69, 0x73, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x64, 0x76,
0x65, 0x72, 0x62, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x76, 0x65, 0x72, 0x62, 0x73, 0x6b, 0x69, 0x6c,
0x6c, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (