修改属性累加

This commit is contained in:
zhaocy 2022-06-30 20:15:56 +08:00
parent 3d7670f7b0
commit 318198e924
14 changed files with 78 additions and 73 deletions

View File

@ -65,9 +65,9 @@ const (
)
const (
PropertyHp int32 = 1 //生命
PropertyAtk int32 = 2 //攻击
PropertyDef int32 = 3 //防御
PropertyHp string = "hp" //生命
PropertyAtk string = "atk" //攻击
PropertyDef string = "def" //防御
)
const (

View File

@ -118,7 +118,7 @@ func (this *apiComp) Resonance(session comm.IUserSession, agrs map[string]interf
_heroMap := map[string]interface{}{
"resonateNum": _hero.ResonateNum + resonConfig.Energy,
}
err := this.moduleHero.modelHero.modifyHero(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
err := this.moduleHero.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err != nil {
log.Errorf("update hero skill failed:%v", err)
}

View File

@ -84,7 +84,7 @@ func (this *apiComp) ResonanceReset(session comm.IUserSession, agrs map[string]i
"Energy": _hero.Energy,
}
err := this.moduleHero.modelHero.modifyHero(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
err := this.moduleHero.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err != nil {
log.Errorf("update hero skill failed:%v", err)
}

View File

@ -47,7 +47,7 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, agrs map[stri
"Energy": _hero.Energy,
}
err := this.moduleHero.modelHero.modifyHero(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
err := this.moduleHero.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err != nil {
code = pb.ErrorCode_DBError
log.Errorf("update hero skill failed:%v", err)

View File

@ -129,7 +129,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, agrs map[strin
_heroMap := map[string]interface{}{
"normalSkill": _hero.NormalSkill,
}
err = this.moduleHero.modelHero.modifyHero(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
err = this.moduleHero.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err != nil {
log.Errorf("update hero skill failed:%v", err)
}

View File

@ -148,7 +148,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, agrs map[string
"star": _hero.Star,
}
// 保存数据
err := this.moduleHero.modelHero.modifyHero(session.GetUserId(), req.HeroObjID, _heroMap)
err := this.moduleHero.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap)
if err != nil {
code = pb.ErrorCode_DBError
log.Errorf("update hero skill failed:%v", err)

View File

@ -95,6 +95,6 @@ func TestModify(t *testing.T) {
"lv": 2,
"exp": 1000,
}
err := module.modelHero.modifyHero("u1", "62b534bebf4745d4117acabe", data)
err := module.modelHero.modifyHeroData("u1", "62b534bebf4745d4117acabe", data)
fmt.Printf("%v ", err)
}

View File

@ -46,9 +46,9 @@ func (this *ModelHero) initHero(uid string, heroCfgId int32) *pb.DBHero {
Skins: []int32{},
EquipID: make([]string, 6), //初始装备
SameCount: 1, //默认叠加数量
AddProperty: make(map[int32]int32),
AddProperty: make(map[string]int32),
Energy: make(map[int32]int32),
Property: make(map[int32]int32),
Property: make(map[string]int32),
}
return newHero
}
@ -94,7 +94,7 @@ func (this *ModelHero) createMultiHero(uid string, heroCfgIds ...int32) error {
data := map[string]interface{}{
"sameCount": h.SameCount, //叠加数
}
if err := this.modifyHero(uid, h.Id, data); err != nil {
if err := this.modifyHeroData(uid, h.Id, data); err != nil {
return err
}
} else {
@ -130,7 +130,7 @@ func (this *ModelHero) consumeOneHeroCard(uid, heroId string, count int32) (err
}
//更新英雄数据
func (this *ModelHero) modifyHero(uid, heroId string, data map[string]interface{}) error {
func (this *ModelHero) modifyHeroData(uid, heroId string, data map[string]interface{}) error {
return this.moduleHero.modelHero.ChangeList(uid, heroId, data)
}
@ -155,25 +155,21 @@ func (this *ModelHero) setEquipment(uid, heroId string, equipIds []string) pb.Er
return pb.ErrorCode_Success
}
//指定英雄升级
func (this *ModelHero) levelUp(uid string, heroId int32) error {
var heroes []*pb.DBHero
err := this.moduleHero.modelHero.GetList(uid, heroes)
if err != nil {
log.Errorf("levelUp err:%v", err)
return err
//合并属性即属性值累加
func (this *ModelHero) mergeProperty(uid, heroId string, data map[string]int32) {
hero := this.getOneHero(uid, heroId)
if hero == nil {
return
}
return nil
}
//升星
func (this *ModelHero) starUp() {
hero.Property[comm.PropertyHp] += data[comm.PropertyHp]
hero.Property[comm.PropertyAtk] += data[comm.PropertyAtk]
hero.Property[comm.PropertyDef] += data[comm.PropertyDef]
}
//属性计算 - 暂时放在modelHero里实现
//英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数
func (this *ModelHero) PropertyCompute(uid, heroId string) map[int32]int32 {
func (this *ModelHero) PropertyCompute(uid, heroId string) map[string]int32 {
hero := this.getOneHero(uid, heroId)
if hero == nil {
return nil
@ -209,16 +205,22 @@ func (this *ModelHero) PropertyCompute(uid, heroId string) map[int32]int32 {
return nil
}
exprHp := fmt.Sprintf("%v + %v * %v/1000 + %v * %v", lvGrow.Hp, heroLvCfg.Hp, lvGrow.Hpgrow, heroStarCfg.Hp, stargrowCfg.StarupHp)
curHp := hero.Property[comm.PropertyHp]
exprHp := fmt.Sprintf("%v + %v * %v/1000 + %v * %v",
(curHp + lvGrow.Hp), heroLvCfg.Hp, lvGrow.Hpgrow, heroStarCfg.Hp, stargrowCfg.StarupHp)
hp, _ := mengine.ParseAndExec(exprHp)
exprAtk := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Atk, heroLvCfg.Atk, lvGrow.Atkgrow, heroStarCfg.Atk, stargrowCfg.StarupAtk)
curAtk := hero.Property[comm.PropertyAtk]
exprAtk := fmt.Sprintf("%v +%v * %v/1000 + %v * %v",
(curAtk + lvGrow.Atk), heroLvCfg.Atk, lvGrow.Atkgrow, heroStarCfg.Atk, stargrowCfg.StarupAtk)
atk, _ := mengine.ParseAndExec(exprAtk)
exprDef := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Def, heroLvCfg.Def, lvGrow.Defgrow, heroStarCfg.Def, stargrowCfg.StarupDef)
curDef := hero.Property[comm.PropertyDef]
exprDef := fmt.Sprintf("%v +%v * %v/1000 + %v * %v",
(curDef + lvGrow.Def), heroLvCfg.Def, lvGrow.Defgrow, heroStarCfg.Def, stargrowCfg.StarupDef)
def, _ := mengine.ParseAndExec(exprDef)
return map[int32]int32{
return map[string]int32{
comm.PropertyHp: int32(math.Floor(hp)),
comm.PropertyAtk: int32(math.Floor(atk)),
comm.PropertyDef: int32(math.Floor(def)),

View File

@ -82,6 +82,7 @@ func (this *Hero) UpdateEquipment(hero *pb.DBHero, equip []*pb.DB_Equipment) (co
for _, v := range equip {
equipIds = append(equipIds, v.Id)
}
return this.modelHero.setEquipment(hero.Uid, hero.Id, equipIds)
}
@ -155,7 +156,7 @@ func (this *Hero) AddCardExp(uid string, heroId string, exp int32) (code pb.Erro
"exp": curExp,
}
if err := this.modelHero.modifyHero(uid, heroId, update); err != nil {
if err := this.modelHero.modifyHeroData(uid, heroId, update); err != nil {
code = pb.ErrorCode_DBError
} // 修改英雄数据
} else {

View File

@ -47,12 +47,14 @@ func (this *User) GetHeroList(uid string) []*pb.DBHero {
//查询用户属性值 例如 金币 经验
func (this *User) QueryAttributeValue(uid string, attr string) (value int32) {
user := this.modelUser.getUser(uid)
if user == nil {
return
}
switch attr {
case comm.ResGold:
return user.Gold
case comm.ResExp:
return user.Exp
}
return
}

View File

@ -80,30 +80,30 @@ type DBHero struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
HeroID int32 `protobuf:"varint,3,opt,name=heroID,proto3" json:"heroID" bson:"heroID"` // 英雄的配置表ID
Star int32 `protobuf:"varint,4,opt,name=star,proto3" json:"star"` // 英雄星级
Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv"` // 英雄等级
Exp int32 `protobuf:"varint,6,opt,name=exp,proto3" json:"exp"` // 英雄经验
JuexingLv int32 `protobuf:"varint,7,opt,name=juexingLv,proto3" json:"juexingLv" bson:"juexingLv"` //觉醒等级
CaptainSkill int32 `protobuf:"varint,8,opt,name=captainSkill,proto3" json:"captainSkill" bson:"captainSkill"` //队长技能
NormalSkill []*SkillData `protobuf:"bytes,9,rep,name=normalSkill,proto3" json:"normalSkill" bson:"normalSkill"` //普通技能
Property map[int32]int32 `protobuf:"bytes,10,rep,name=property,proto3" json:"property" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 属性相关
AddProperty map[int32]int32 `protobuf:"bytes,11,rep,name=addProperty,proto3" json:"addProperty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"addProperty"` //附加属性相关
Formation int32 `protobuf:"varint,12,opt,name=formation,proto3" json:"formation"` // 阵型类型
CardType int32 `protobuf:"varint,13,opt,name=cardType,proto3" json:"cardType" bson:"cardType"` //卡片类型(升星卡、经验卡、技能升级卡)
CurSkin int32 `protobuf:"varint,14,opt,name=curSkin,proto3" json:"curSkin" bson:"curSkin"` //当前装备的皮肤ID
Skins []int32 `protobuf:"varint,15,rep,packed,name=skins,proto3" json:"skins"` // 所有皮肤ID
Block bool `protobuf:"varint,16,opt,name=block,proto3" json:"block"` // 锁定
EquipID []string `protobuf:"bytes,17,rep,name=equipID,proto3" json:"equipID" bson:"equipID"` //装备 objID
ResonateNum int32 `protobuf:"varint,18,opt,name=resonateNum,proto3" json:"resonateNum" bson:"resonateNum"` //共鸣次数
DistributionResonate int32 `protobuf:"varint,19,opt,name=distributionResonate,proto3" json:"distributionResonate" bson:"distributionResonate"` //分配的共鸣能量
Energy map[int32]int32 `protobuf:"bytes,20,rep,name=energy,proto3" json:"energy" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // @go_tags(`bson:"energy"`)能量分配到哪里
SameCount int32 `protobuf:"varint,21,opt,name=sameCount,proto3" json:"sameCount" bson:"sameCount"` // 卡片叠加数量
SuiteId int32 `protobuf:"varint,22,opt,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id
SuiteExtId int32 `protobuf:"varint,23,opt,name=suiteExtId,proto3" json:"suiteExtId"` // go_tags(`bson:"suiteExtId"`) 扩展套装Id
IsOverlying bool `protobuf:"varint,24,opt,name=isOverlying,proto3" json:"isOverlying"` // go_tags(`bson:"isOverlying"`) 是否允许叠加 默认true
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
HeroID int32 `protobuf:"varint,3,opt,name=heroID,proto3" json:"heroID" bson:"heroID"` // 英雄的配置表ID
Star int32 `protobuf:"varint,4,opt,name=star,proto3" json:"star"` // 英雄星级
Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv"` // 英雄等级
Exp int32 `protobuf:"varint,6,opt,name=exp,proto3" json:"exp"` // 英雄经验
JuexingLv int32 `protobuf:"varint,7,opt,name=juexingLv,proto3" json:"juexingLv" bson:"juexingLv"` //觉醒等级
CaptainSkill int32 `protobuf:"varint,8,opt,name=captainSkill,proto3" json:"captainSkill" bson:"captainSkill"` //队长技能
NormalSkill []*SkillData `protobuf:"bytes,9,rep,name=normalSkill,proto3" json:"normalSkill" bson:"normalSkill"` //普通技能
Property map[string]int32 `protobuf:"bytes,10,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 属性相关
AddProperty map[string]int32 `protobuf:"bytes,11,rep,name=addProperty,proto3" json:"addProperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"addProperty"` //附加属性相关
Formation int32 `protobuf:"varint,12,opt,name=formation,proto3" json:"formation"` // 阵型类型
CardType int32 `protobuf:"varint,13,opt,name=cardType,proto3" json:"cardType" bson:"cardType"` //卡片类型(升星卡、经验卡、技能升级卡)
CurSkin int32 `protobuf:"varint,14,opt,name=curSkin,proto3" json:"curSkin" bson:"curSkin"` //当前装备的皮肤ID
Skins []int32 `protobuf:"varint,15,rep,packed,name=skins,proto3" json:"skins"` // 所有皮肤ID
Block bool `protobuf:"varint,16,opt,name=block,proto3" json:"block"` // 锁定
EquipID []string `protobuf:"bytes,17,rep,name=equipID,proto3" json:"equipID" bson:"equipID"` //装备 objID
ResonateNum int32 `protobuf:"varint,18,opt,name=resonateNum,proto3" json:"resonateNum" bson:"resonateNum"` //共鸣次数
DistributionResonate int32 `protobuf:"varint,19,opt,name=distributionResonate,proto3" json:"distributionResonate" bson:"distributionResonate"` //分配的共鸣能量
Energy map[int32]int32 `protobuf:"bytes,20,rep,name=energy,proto3" json:"energy" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // @go_tags(`bson:"energy"`)能量分配到哪里
SameCount int32 `protobuf:"varint,21,opt,name=sameCount,proto3" json:"sameCount" bson:"sameCount"` // 卡片叠加数量
SuiteId int32 `protobuf:"varint,22,opt,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id
SuiteExtId int32 `protobuf:"varint,23,opt,name=suiteExtId,proto3" json:"suiteExtId"` // go_tags(`bson:"suiteExtId"`) 扩展套装Id
IsOverlying bool `protobuf:"varint,24,opt,name=isOverlying,proto3" json:"isOverlying"` // go_tags(`bson:"isOverlying"`) 是否允许叠加 默认true
}
func (x *DBHero) Reset() {
@ -201,14 +201,14 @@ func (x *DBHero) GetNormalSkill() []*SkillData {
return nil
}
func (x *DBHero) GetProperty() map[int32]int32 {
func (x *DBHero) GetProperty() map[string]int32 {
if x != nil {
return x.Property
}
return nil
}
func (x *DBHero) GetAddProperty() map[int32]int32 {
func (x *DBHero) GetAddProperty() map[string]int32 {
if x != nil {
return x.AddProperty
}
@ -363,11 +363,11 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x69, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4f, 0x76, 0x65,
0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,

View File

@ -1177,9 +1177,9 @@ type HeroProperty struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId"` //英雄唯一ID
Property map[int32]int32 `protobuf:"bytes,2,rep,name=property,proto3" json:"property" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //基础属性
AddProperty map[int32]int32 `protobuf:"bytes,3,rep,name=addProperty,proto3" json:"addProperty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //附加属性
HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId"` //英雄唯一ID
Property map[string]int32 `protobuf:"bytes,2,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //基础属性
AddProperty map[string]int32 `protobuf:"bytes,3,rep,name=addProperty,proto3" json:"addProperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //附加属性
}
func (x *HeroProperty) Reset() {
@ -1221,14 +1221,14 @@ func (x *HeroProperty) GetHeroId() string {
return ""
}
func (x *HeroProperty) GetProperty() map[int32]int32 {
func (x *HeroProperty) GetProperty() map[string]int32 {
if x != nil {
return x.Property
}
return nil
}
func (x *HeroProperty) GetAddProperty() map[int32]int32 {
func (x *HeroProperty) GetAddProperty() map[string]int32 {
if x != nil {
return x.AddProperty
}
@ -1346,11 +1346,11 @@ var file_hero_hero_msg_proto_rawDesc = []byte{
0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50,
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65,
0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65,
0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,

View File

@ -16,8 +16,8 @@ message DBHero {
int32 juexingLv = 7; //@go_tags(`bson:"juexingLv"`)
int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`)
repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`)
map<int32, int32> property = 10; //
map<int32, int32> addProperty =
map<string, int32> property = 10; //
map<string, int32> addProperty =
11; //@go_tags(`bson:"addProperty"`)
int32 formation = 12; //
int32 cardType =

View File

@ -97,7 +97,7 @@ message HeroResonanceUseEnergyResp {
//
message HeroAwakenReq {
string heroObjID = 1; // ID
string heroObjID = 1; // ID
}
//
@ -112,7 +112,7 @@ message HeroChoukaResp { repeated DBHero heroes = 1; }
//
message HeroProperty {
string heroId = 1; //ID
map<int32, int32> property = 2; //
map<int32, int32> addProperty = 3; //
string heroId = 1; //ID
map<string, int32> property = 2; //
map<string, int32> addProperty = 3; //
}