上传同步

This commit is contained in:
liwei1dao 2024-01-10 15:47:29 +08:00
commit 6ca2b346b6
4 changed files with 111 additions and 86 deletions

View File

@ -721,9 +721,17 @@ func (this *MapData) SkillUp(pos int32, color int32, skillid int32, value int32,
ids []int ids []int
) )
x = make(map[int]struct{}) x = make(map[int]struct{})
if skillid == 1 { // 随机消除盘面上X个方块
switch skillid {
case 1:
ids = utils.RandomNumbers(0, Total-1, int(value)) ids = utils.RandomNumbers(0, Total-1, int(value))
} else if skillid == 4 { // 找到pos 位置的所有方块 case 2:
for i := 0; i < Height; i++ {
ids = append(ids, 3*Width+i)
}
case 3: // 将随机6个宝石染成当前盘面上颜色最多的宝石
this.SkillChangeColor(value)
case 4:
x := int(pos / Width) x := int(pos / Width)
y := int(pos % Height) y := int(pos % Height)
for i := 1; i < 7; i++ { for i := 1; i < 7; i++ {
@ -742,7 +750,7 @@ func (this *MapData) SkillUp(pos int32, color int32, skillid int32, value int32,
ids = append(ids, (x+i)*Width+(y-i)) ids = append(ids, (x+i)*Width+(y-i))
} }
} }
} else if skillid == 5 { //选中一个方块,消除周围一圈 case 5:
ids = append(ids, int(pos)) // 包含自己 ids = append(ids, int(pos)) // 包含自己
x := int(pos / Width) x := int(pos / Width)
y := int(pos % Height) y := int(pos % Height)
@ -771,16 +779,16 @@ func (this *MapData) SkillUp(pos int32, color int32, skillid int32, value int32,
if x+1 < Width && y-1 >= 0 { // 右下 if x+1 < Width && y-1 >= 0 { // 右下
ids = append(ids, (x+1)*Width+(y-1)) ids = append(ids, (x+1)*Width+(y-1))
} }
} else if skillid == 2 { // 消除中间的一列宝石 case 8:
for i := 0; i < Height; i++ { for k := range this.SkillManYan(pos, 0) {
ids = append(ids, 3*Width+i)
}
} else if skillid == 3 { // 四周蔓延 第一次100% 第二次 60% 第三次 30% 第四次 10% 最多4次
for k := range this.Skill3(pos, 0) {
ids = append(ids, k) // 转换成最终消除的坐标 ids = append(ids, k) // 转换成最终消除的坐标
} }
ids = append(ids, int(pos)) // 包含自己 ids = append(ids, int(pos)) // 包含自己
default:
this.module.Errorf("not found skill:%d", skillid)
return
} }
for _, id := range ids { for _, id := range ids {
if s := this.Plat[id].Special; s != 0 { if s := this.Plat[id].Special; s != 0 {
for k := range this.SpecialElem(id, s) { for k := range this.SpecialElem(id, s) {
@ -1085,7 +1093,7 @@ func (this *MapData) RedsetPlatData() {
} }
//四周蔓延 第一次100% 第二次 60% 第三次 30% 第四次 10% 最多4次 //四周蔓延 第一次100% 第二次 60% 第三次 30% 第四次 10% 最多4次
func (this *MapData) Skill3(pos int32, count int32) (m map[int]struct{}) { func (this *MapData) SkillManYan(pos int32, count int32) (m map[int]struct{}) {
m = make(map[int]struct{}, 0) m = make(map[int]struct{}, 0)
var sz []int var sz []int
var percent int32 var percent int32
@ -1125,12 +1133,8 @@ func (this *MapData) Skill3(pos int32, count int32) (m map[int]struct{}) {
} }
count++ count++
// for _, v := range cur {
// fmt.Printf("=======蔓延的id:%d====,count=%d====\n", v, count)
// }
// fmt.Printf("=======count=%d====\n", count)
for _, k := range cur { for _, k := range cur {
for k1 := range this.Skill3(int32(k), count) { // 递归蔓延 for k1 := range this.SkillManYan(int32(k), count) { // 递归蔓延
m[k1] = struct{}{} m[k1] = struct{}{}
} }
} }
@ -1471,3 +1475,31 @@ func (this *MapData) CheckElem(pos int) (xc []int) {
} }
return return
} }
// 将随机6个宝石染成当前盘面上颜色最多的宝石 (count 替换的数量)
func (this *MapData) SkillChangeColor(count int32) {
var (
// 替换成的颜色
color int32
elemCount map[int32]int32
)
elemCount = make(map[int32]int32, 0)
for _, v := range this.Plat {
elemCount[v.Color] += 1
}
for k := range elemCount {
if color < k {
color = k
}
}
for i := 0; i < int(count); i++ {
targetId := comm.GetRandNum(0, Total-1)
if this.Plat[targetId].Color == color {
i--
} else {
this.Plat[targetId].Color = color // 变更颜色
}
}
return
}

View File

@ -119,7 +119,7 @@ func Test_Main(t *testing.T) {
m.SetMap() m.SetMap()
m.Debugf() m.Debugf()
fmt.Printf("xxxx %v\n", m.Skill3(24, 0)) fmt.Printf("xxxx %v\n", m.SkillManYan(24, 0))
//m.SkillUp(24, 1, 3, 7, true) //m.SkillUp(24, 1, 3, 7, true)
b := m.GetFireBoom(1, 7) b := m.GetFireBoom(1, 7)
@ -139,12 +139,12 @@ func Test_Main(t *testing.T) {
} }
var mids map[int]struct{} var mids map[int]struct{}
mids = make(map[int]struct{}, 0) mids = make(map[int]struct{}, 0)
m.Skill3(35, 0) m.SkillManYan(35, 0)
for i := 0; i < 4; i++ { for i := 0; i < 4; i++ {
dd := m.Skill3(24, int32(i)) dd := m.SkillManYan(24, int32(i))
for k := range dd { for k := range dd {
for s := range m.Skill3(int32(k), int32(i)) { for s := range m.SkillManYan(int32(k), int32(i)) {
mids[s] = struct{}{} mids[s] = struct{}{}
} }
} }

View File

@ -85,7 +85,7 @@ func (this *apiComp) TaskReceive(session comm.IUserSession, req *pb.StonehengeTa
return return
} }
session.SendMsg(string(this.module.GetType()), "taskreceive", &pb.StonehengeTaskReceiveResp{Task: info.Task, Award: award}) session.SendMsg(string(this.module.GetType()), "taskreceive", &pb.StonehengeTaskReceiveResp{Taskid: req.Taskid, Award: award})
if len(award) > 0 { if len(award) > 0 {
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
this.module.WriteUserLog(session.GetUserId(), req, comm.GMResAddType, "StonehengeTaskReceiveReq", award) this.module.WriteUserLog(session.GetUserId(), req, comm.GMResAddType, "StonehengeTaskReceiveReq", award)

View File

@ -1637,7 +1637,7 @@ type StonehengeTaskReceiveResp struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Task map[int32]bool `protobuf:"bytes,1,rep,name=task,proto3" json:"task" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //已领取的任务 Taskid int32 `protobuf:"varint,1,opt,name=taskid,proto3" json:"taskid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励 Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
} }
@ -1673,11 +1673,11 @@ func (*StonehengeTaskReceiveResp) Descriptor() ([]byte, []int) {
return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{29} return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{29}
} }
func (x *StonehengeTaskReceiveResp) GetTask() map[int32]bool { func (x *StonehengeTaskReceiveResp) GetTaskid() int32 {
if x != nil { if x != nil {
return x.Task return x.Taskid
} }
return nil return 0
} }
func (x *StonehengeTaskReceiveResp) GetAward() []*UserAssets { func (x *StonehengeTaskReceiveResp) GetAward() []*UserAssets {
@ -1990,26 +1990,21 @@ var file_stonehenge_stonehenge_msg_proto_rawDesc = []byte{
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x32, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x32, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65,
0x68, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x19, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x19, 0x53,
0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63,
0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b,
0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64,
0x65, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77,
0x61, 0x73, 0x6b, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x61, 0x72, 0x64, 0x22, 0x32, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a,
0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x6e, 0x65,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65,
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x62, 0x75, 0x66, 0x66,
0x32, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x62, 0x75,
0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x66, 0x66, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x6f, 0x33,
0x74, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67,
0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e,
0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x62, 0x75, 0x66, 0x66, 0x18, 0x01, 0x20, 0x03,
0x28, 0x05, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x62, 0x75, 0x66, 0x66, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -2024,7 +2019,7 @@ func file_stonehenge_stonehenge_msg_proto_rawDescGZIP() []byte {
return file_stonehenge_stonehenge_msg_proto_rawDescData return file_stonehenge_stonehenge_msg_proto_rawDescData
} }
var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 41) var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
var file_stonehenge_stonehenge_msg_proto_goTypes = []interface{}{ var file_stonehenge_stonehenge_msg_proto_goTypes = []interface{}{
(*StonehengeGetListReq)(nil), // 0: StonehengeGetListReq (*StonehengeGetListReq)(nil), // 0: StonehengeGetListReq
(*StonehengeGetListResp)(nil), // 1: StonehengeGetListResp (*StonehengeGetListResp)(nil), // 1: StonehengeGetListResp
@ -2066,55 +2061,53 @@ var file_stonehenge_stonehenge_msg_proto_goTypes = []interface{}{
nil, // 37: StonehengeActivateTalentResp.TalentpropertyEntry nil, // 37: StonehengeActivateTalentResp.TalentpropertyEntry
nil, // 38: StonehengeWeekAwardResp.WeeklyrewardEntry nil, // 38: StonehengeWeekAwardResp.WeeklyrewardEntry
nil, // 39: StonehengeTaskInfoResp.TaskEntry nil, // 39: StonehengeTaskInfoResp.TaskEntry
nil, // 40: StonehengeTaskReceiveResp.TaskEntry (*DBStonehenge)(nil), // 40: DBStonehenge
(*DBStonehenge)(nil), // 41: DBStonehenge (*DBStoneBoss)(nil), // 41: DBStoneBoss
(*DBStoneBoss)(nil), // 42: DBStoneBoss (*RoomData)(nil), // 42: RoomData
(*RoomData)(nil), // 43: RoomData (*BattleReport)(nil), // 43: BattleReport
(*BattleReport)(nil), // 44: BattleReport (*UserAtno)(nil), // 44: UserAtno
(*UserAtno)(nil), // 45: UserAtno (*BattleFormation)(nil), // 45: BattleFormation
(*BattleFormation)(nil), // 46: BattleFormation (*BattleInfo)(nil), // 46: BattleInfo
(*BattleInfo)(nil), // 47: BattleInfo (StonehengePrivilege)(0), // 47: StonehengePrivilege
(StonehengePrivilege)(0), // 48: StonehengePrivilege (*DBStonehengeBook)(nil), // 48: DBStonehengeBook
(*DBStonehengeBook)(nil), // 49: DBStonehengeBook (*UserAssets)(nil), // 49: UserAssets
(*UserAssets)(nil), // 50: UserAssets (*BattleRole)(nil), // 50: BattleRole
(*BattleRole)(nil), // 51: BattleRole
} }
var file_stonehenge_stonehenge_msg_proto_depIdxs = []int32{ var file_stonehenge_stonehenge_msg_proto_depIdxs = []int32{
41, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge 40, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge
42, // 1: StonehengeGetListResp.boss:type_name -> DBStoneBoss 41, // 1: StonehengeGetListResp.boss:type_name -> DBStoneBoss
32, // 2: StonehengeEnterLevelResp.hero:type_name -> StonehengeEnterLevelResp.HeroEntry 32, // 2: StonehengeEnterLevelResp.hero:type_name -> StonehengeEnterLevelResp.HeroEntry
43, // 3: StonehengeEnterLevelResp.room:type_name -> RoomData 42, // 3: StonehengeEnterLevelResp.room:type_name -> RoomData
43, // 4: StonehengeGotoRoomResp.room:type_name -> RoomData 42, // 4: StonehengeGotoRoomResp.room:type_name -> RoomData
44, // 5: StonehengeEventReq.report:type_name -> BattleReport 43, // 5: StonehengeEventReq.report:type_name -> BattleReport
43, // 6: StonehengeEventResp.room:type_name -> RoomData 42, // 6: StonehengeEventResp.room:type_name -> RoomData
45, // 7: StonehengeEventResp.reward:type_name -> UserAtno 44, // 7: StonehengeEventResp.reward:type_name -> UserAtno
33, // 8: StonehengeEventResp.hero:type_name -> StonehengeEventResp.HeroEntry 33, // 8: StonehengeEventResp.hero:type_name -> StonehengeEventResp.HeroEntry
34, // 9: StonehengeEventResp.userbuff:type_name -> StonehengeEventResp.UserbuffEntry 34, // 9: StonehengeEventResp.userbuff:type_name -> StonehengeEventResp.UserbuffEntry
43, // 10: StonehengeGetRoomInfoResp.room:type_name -> RoomData 42, // 10: StonehengeGetRoomInfoResp.room:type_name -> RoomData
41, // 11: StonehengeFinishResp.data:type_name -> DBStonehenge 40, // 11: StonehengeFinishResp.data:type_name -> DBStonehenge
45, // 12: StonehengeFinishResp.reward:type_name -> UserAtno 44, // 12: StonehengeFinishResp.reward:type_name -> UserAtno
46, // 13: StonehengeBattleReq.battle:type_name -> BattleFormation 45, // 13: StonehengeBattleReq.battle:type_name -> BattleFormation
47, // 14: StonehengeBattleResp.info:type_name -> BattleInfo 46, // 14: StonehengeBattleResp.info:type_name -> BattleInfo
43, // 15: StonehengeStoryResp.room:type_name -> RoomData 42, // 15: StonehengeStoryResp.room:type_name -> RoomData
35, // 16: StonehengeStoreResp.shop:type_name -> StonehengeStoreResp.ShopEntry 35, // 16: StonehengeStoreResp.shop:type_name -> StonehengeStoreResp.ShopEntry
43, // 17: StonehengeStoreResp.room:type_name -> RoomData 42, // 17: StonehengeStoreResp.room:type_name -> RoomData
36, // 18: StonehengeActivateTalentResp.talent:type_name -> StonehengeActivateTalentResp.TalentEntry 36, // 18: StonehengeActivateTalentResp.talent:type_name -> StonehengeActivateTalentResp.TalentEntry
37, // 19: StonehengeActivateTalentResp.talentproperty:type_name -> StonehengeActivateTalentResp.TalentpropertyEntry 37, // 19: StonehengeActivateTalentResp.talentproperty:type_name -> StonehengeActivateTalentResp.TalentpropertyEntry
48, // 20: StonehengeActivateTalentResp.privilege:type_name -> StonehengePrivilege 47, // 20: StonehengeActivateTalentResp.privilege:type_name -> StonehengePrivilege
49, // 21: StonehengeBookInfoResp.info:type_name -> DBStonehengeBook 48, // 21: StonehengeBookInfoResp.info:type_name -> DBStonehengeBook
50, // 22: StonehengeBookAwardResp.award:type_name -> UserAssets 49, // 22: StonehengeBookAwardResp.award:type_name -> UserAssets
38, // 23: StonehengeWeekAwardResp.weeklyreward:type_name -> StonehengeWeekAwardResp.WeeklyrewardEntry 38, // 23: StonehengeWeekAwardResp.weeklyreward:type_name -> StonehengeWeekAwardResp.WeeklyrewardEntry
50, // 24: StonehengeWeekAwardResp.award:type_name -> UserAssets 49, // 24: StonehengeWeekAwardResp.award:type_name -> UserAssets
39, // 25: StonehengeTaskInfoResp.task:type_name -> StonehengeTaskInfoResp.TaskEntry 39, // 25: StonehengeTaskInfoResp.task:type_name -> StonehengeTaskInfoResp.TaskEntry
40, // 26: StonehengeTaskReceiveResp.task:type_name -> StonehengeTaskReceiveResp.TaskEntry 49, // 26: StonehengeTaskReceiveResp.award:type_name -> UserAssets
50, // 27: StonehengeTaskReceiveResp.award:type_name -> UserAssets 50, // 27: StonehengeEnterLevelResp.HeroEntry.value:type_name -> BattleRole
51, // 28: StonehengeEnterLevelResp.HeroEntry.value:type_name -> BattleRole 50, // 28: StonehengeEventResp.HeroEntry.value:type_name -> BattleRole
51, // 29: StonehengeEventResp.HeroEntry.value:type_name -> BattleRole 29, // [29:29] is the sub-list for method output_type
30, // [30:30] is the sub-list for method output_type 29, // [29:29] is the sub-list for method input_type
30, // [30:30] is the sub-list for method input_type 29, // [29:29] is the sub-list for extension type_name
30, // [30:30] is the sub-list for extension type_name 29, // [29:29] is the sub-list for extension extendee
30, // [30:30] is the sub-list for extension extendee 0, // [0:29] is the sub-list for field type_name
0, // [0:30] is the sub-list for field type_name
} }
func init() { file_stonehenge_stonehenge_msg_proto_init() } func init() { file_stonehenge_stonehenge_msg_proto_init() }
@ -2518,7 +2511,7 @@ func file_stonehenge_stonehenge_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_stonehenge_stonehenge_msg_proto_rawDesc, RawDescriptor: file_stonehenge_stonehenge_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 41, NumMessages: 40,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },